Skip to main content

Full text of "BBC Micro User - Volume 01 - No 03 (1983-05)(Database Publishing)(GB)"

See other formats


Volume 1 No. 3 
May 1983 £1 




The independent magazine that helps 
you to make the most of your micro 



WIN 

a Cumana 
disc drive 




in another 

challenging 

contest! 



More than 



listings 



L 






Build your own 

f stick 



Imanism 



^'*Jf/ 



— *ifc-if*i».f tie 



gjake your firststeps 
in MOO&7 animation 



side story of 



WXi 



- 



Help with sirnwaf sifKi * 

and functiorr"* 




A + F SOFTWARE 



A + F 



PAINTER £8-00 




From the dark depths of "A&F Software's", development centre, comes the 

Game of the Year. 100% Machine Code, Fast, Addictive, Multiple Screens, 

High Score, Sound, Colour, 6 Skill Levels - "SOFTWARE AT ITS BEST" 

Available now for all BBC users. Fill in the grids with your painter, before the 
chasing fizzers get you, drop gaps to confuse the fizzers, but don't trap yourself. 

RUNS ON ALL OS's requires 32k memory. 

PRICES - CASSETTE £8.00 - DISC £11.50 



• • 




Arcade action with this version of the well 

known popular arcade game. Written in 

machine code to run on all OS's in 32k. Can 

you get your Frog across the road and river 

to safety. 

PRICES CASSETTE £8.00 - DISC £11.50 



Waves of aircraft and helicopters are 

attacking you, using your defence base you 

must destroy the diving raiders before they 

can wipe you out. Written in machine code 

to suit all OS's will run on any 32k BBC. 

PRICES - CASSETTES £8.00 - DISC £11.50 



A fully interactive graphics adventure game, fight the monsters and demons as you find 
your way into the tomb room to steal the "Pharoah's Mask". Beware the "MUMMY". 

Runs on all OSI's in 32k. 
PRICES CASSETTE £8.00 - DISC £11.50 



TORCH USERS - ALL PROGRAMS AVAILABLE ON DISC AT £15.50 PER TITLE 



061-223 6206 
(24 hrs) 



Orders to: A&F SOFTWARE, 830 Hyde Road, Manchester, M18 7JD 

enclosing cheque/P.O. payable to A&F Software (MICRO-LINK). 

To avoid confusion please state BBC on your order thank you. 
24 HOUR ANSWERING SERVICE FOR TELEPHONE ORDERS 




iAPKLHCAf* 




fcTV 



Telex: 667461 
ATTN A&F) 



's woiv Noovaa Dee wnuiDads snmis aivn 



2 BBC MICRO USER May 1983 



Launch your BBC mi 
with the Torch Z80 disc* 



If you already have a BBC Model B micro, then you know that it is 
not a toy. But neither is it suitable for business or for serious program 3 
because it lacks the access speeds and massive storage capacity that only ' 
floppy discs can provide. ^^^ 

The answer is a TORCH Z80 DISC PACK. The twin discs store up to 
800K of data and programs, while the Z80 processor board provides an extra 63K 
of user memory and Torch's CP/M* compatible operating system - giving access to 

the largest range of software currently available. 

For the business user, this means sophisticated word processing, financial 
and stock-control packages. For the programmer who has outgrown BASIC, the 
TORCH DISC PACK can handle more compact, powerful, and specialised 

languages - such as PASCAL, C, FORTRAN. LISP and COBOL. 
The TORCH Z80 DISC PACK comes complete with a 

range of useful software, including a full disc function test, a 

character redefinition program, a music generator, a Z80 j 

monitor and system demonstrations. 

TORCH gives you the power an 

launch your BBC micro into the world of serious computing. 





TORCH A 



COMPUTERS "»>«- 



Abberley House, Great Shelford, Cambridge CB2 5LQ 
Telephone: (0223) 841000 Telex: 818841 TORCH G. 




■ 



*CP M is the registered trademark of Digital Research Ltd. 




Vol. 1 No. 3 May 1983 



CONTENTS 



NEWS 

Keep up to date with all the very latest 
happenings in the bustling BBC Micro world. 




PELMANISM 

Shuffle the cards and put your memory to the 
test - but it's much harder than you think! 




TELETEXT 

Another look at the capabilities of Mode 7 - 
this time for creating fast-moving animation. 



Managing Editor 
Derek Meakin 

Features Editor 
Mike Bibby 

Art Editor 
Peter Glover 

Advertisement Manager 
John Riding 

Advertising Sales 

John Snowden 

Mike Hayes 

Marketing Manager 
Linda Dobson 



Tel: 061-456 8383 (Editoria 
061-456 8500 (Advertising) 

Telex: 667664 sharetg 



Published by: 

Database Publications Ltd, 

Europa House, 68 Chester Road, 

Hazel Grove, Stockport SK7 5NY. 

Subscription rates for 
12 issues, post free: 

E12 - UK 

£13 - Eire (IR £16) 

£ 1 8 - Europe 

£15 - USA (surface) 

£25 - USA (airmail) 

£15 - Rest of world 

(surface) 
£30 - Rest of world 

(airmail) 



BBC Micro User welcomes program list- 
ings and articles for publication. Material 
should be typed or computer-printed, and 
preferably double-spaced. Program list- 
ings should be accompanied by cassette 
tape or disc. Please enclose a stamped, 
self-addressed envelope, otherwise the 
return of material cannot be guaranteed. 
Contributions accepted for publication 
will be on an all-rights basis. 

« 1983 Database Publications Ltd. No 
material may be reproduced in whole or 
in part without written permission. While 
every care is taken, the publishers cannot 
be held legally responsible for any errors 
in articles or listings. 

BBC Micro User is an independent 
publication and neither the BBC nor 
Acorn Computers Ltd are responsible for 
any of the articles in this issue or for any 
of the opinions expressed. 

Distribution to the news trade in the UK 
and Ireland is by Wells Gardner, Darton 
and Co Ltd.. Faygate. Horsham. West 
Sussex RH12 4SU (tel: Faygate 444). 
Enquiries regarding overseas distribution 
should be made direct to the publishers. 



INTERFACING 

Practical programs to start you putting the 
BBC Micro hard at work in the laboratory. 




GRAPHICS 

Use simple shapes to produce multi-coloured 
pictures and really bring your screen to life. 



BITS & BYTES 

More about the binary code - to help you un- 
derstand better how your BBC Micro works. 



UPGRADE 

Part III of our Beeb Body-building Course 
shows how to construct your own joystick. 



TAPE OFFER 

Save yourself the chore of keying in 
programs from this issue with our cassette. 



HOW IT WORKS 

More about the operating system in our 
conducted tour through the BBC Micro. 



TUTORIAL 

Take your first steps into real programming 
with the use of those vital string variables. 




FUNCTIONS 

There's much, much more to function keys 
than might be apparent from the User Guide. 



COMPETITION 

Win the latest Cumana disc drive in another 
challenging test of your programming skil 



BOOKSHELF 

Our reviewers try out two new books for the 
BBC Micro user - on Basic and assembler. 



4 BBC MICRO USER May 1983 




THE 

GENERATION 
GAME 




How to use the 
BBC Micro's 
character bit map 
to generate vertical 
and inverted text. 



BACK ISSUES 

How to find out which articles you missed in 
the first two issues of BBC Micro User. 



ANAGRAMS 

Here are 25 anagrams for you to solve - in a 
clever games program that simply grows. 



WORKSHOP 

Find your way around the Operating System, 
and learn some very useful tricks as you go. 



SPLURGE 

Heard about Splurge II? We reveal the full 
lowdown on the latest programming language. J 

STRUCTURE 

The gospel of structured programming is 
boldly expounded by a leading protagonist. 



EPROM 

An evaluation of one of the latest EPROM 
blowers finds points both for and against. 




GAME of the 
MONTH 




Zap four types of 
nasties in our fast, 
furious and very 
colourful arcade 
extravaganza. 



COLOURS 

Four billion colours can be created with a 
new graphics package. We test the results. 



EDITING 

Recover gracefully from those Basic mistakes 
with our new, easy-to-follow editing guide. 



SUBSCRIBE NOW! 

A years subscription to BBC Micro User 
plus a FREE copy-holder and crib sheet. 



SOFTWARE 

Programs galore - but are they all they claim 
to be? Our frank reviewers give you the facts. 



BOOKSHOP 

We've chosen 1 5 of the best books for the 
BBC Micro for this month's offer to readers. 



MICROMAIL 

Another deluge of mail from readers saying 
what they think of the BBC Micro - and us! 




SHOWTIME 

Meet other readers at the year's top 
event - the very first BBC Micro Users Show. 



May 1983 BBC MICRO USER 5 




It can do a powerful job for yo 



SPECIAL LIMITED 

OFFER 

Buy just any two programs at £19.95 
and take one at £19.95 

FREE! 




CASH BOOK ACCOUNTS 
PROGRAM FOR 

BBC MICRO. . .£95.00 



One of the most innovative business 
t^i \ programs on the market. Most serious 
r*^_^--i accountancy packages are written and 
coded by professional and competent 
programmers. The Gemini Cashbook Accounting 
program was written by practising Chartered Accountants and 
coded by professional and competent programmers. This is a 
fundamental difference. 

This practical program is simple to use and will replace your 
manual cash and bank records and by giving you instant 
management information, it may even put your accountant out 

of job! 

With exceptionally exhaustive user documentation, full 
technical back up and product update policy this program will 
increase the efficiency and profitability of your business. Take a 
look at the information this program will provide. 

* summary of VAT information to enable you to complete your 

VAT returns 

* cumulative receipts and payments report analysed over the 
standard profit and loss and balance sheet heading. 

* option for departmental analysis of sales and purchases 

* print out of all transactions 

* journal routine for entering transfers between accounts and 
year end adjustment for debtors, creditors etc. 

* year end trial balance 

* profit and loss account and balance sheet. 

These statements can be produced at what ever interval 
you require e.g. monthly, quarterly or annually. 

Coming soon:- Integrated Sales + Purchase Ledgers 



\ . . the systems worked immaculately 
when tested . . ." 
Mailist is a very professional piece of software 

(Which Micro * Software Review Feb 83) 



9 * • 



Here's a range of software for the independent 
businessman that's designed to harness the power of your 
micro to deliver the vital information you need in all key areas 
of your business. A breakthrough on both price and 
performance, each program is fully tested and comes with all 
the documentation back up you need. 



Gemini's range of software is in the vanguard of 
the releases for 'serious' micro users . . .* 



(WTWJi Mkro ■nd Software Rrrtew) 




SPREADSHEET ANALYSIS 
BEEBCALC £1 9.95 
DRAGONCALC £1 9.95 



FOR BBC AND DRAGON 32. Spreadsheet 

w* gy\±i \ processors have proved to be important 
^Vfr^^J tools for using micros in business, scientific 
and domestic financial applications. 
Without any programming knowledge at all, you may:- 

* Set up a computerised spreadsheet, with chosen row and column names. 

* Specify formulae relatins any row or column to any other. 

* Enter your source data and have the results calculated. 

* Save the results on tape (or disk - BBC) for later reloadins and manipulation. 

* Print the tabulated results in an elegant report format. 

* Experienced users may access saved files and write their own reporting or 
graphics presentation programs for the results. 

Some typical applications:- 

* Small business accounting applications, e.g. profit and loss statements and 
cashflow projections, break-even analyses etc. 

* Investment project appraisal - anything from double glazing to oil rigs! 

* Comparing rent/lease/buy options 

* Processing the results of scientific experiments or field studies 

* Engineering calculation models 

* In fact, anything that involves repeated re-calculation of results presented in 

tabular or spreadsheet format. 

Program Availability Chart;- 





Dataoase 


Slock 
Cont'd 


Mailitt 


Statements 


Spread 

tfwet 
Araryv? 


Cashbook 
Accounting 


Word Home 
prottVtG' 1 AtfOuntl 


Commercial 
Accounts 


Sinclair 
Spcctrun 

i t* o' *a* 




• 


• 










• • 


Dr*5on 
39k c* 64k 










• 






• 




V1C90 
(16k+) 




• 


• 


• 








• #1 


Vina- 
(»6k+) 




















Gnjncir 
Ncwtxam 




















T199 4A 




















Atwi 40CVB00 




















5he#p 
MZ80A 




• 


• 


• 








• 


• 


Sharp 
MZ80K 




• 


• 


• 








• 


• 


Snarp 
M260B 




• 


• 


• 








• 


• 


B8C micro 

model 

Ao*B32K 





















6 BBC MICRO USER May 1983 





jr business at petty cash prices. 





INVOKES AND STATEMENTS . . . £19.95 

Compatible with most micros. See table. Ideal for the small 
business. A complete suite of programs together with 
generated customer file for producing crisp and efficient 
business invoices and monthly statements on your line printer. All 
calculations include VAT automatically, and the program allows your 
own messages on the form produced. This program gives you superb 
presentation and saves time on one of the most tedious tasks in the 
office. 

COMMERCIAL ACCOUNTS . . . £19.95 

*%-■■ Compatible with most micros. See table. A gem of a 
£■■1 program, all for cassette, with the following features:- Daily 
■mi Journal. Credit Sales. Cash Sales. Credit Purchases. Purchases 
- other. Sales Ledger. Purchase Ledger. Bank Account. Year to date 
summary. A fully interactive program suitable for all businesses. Files 
can be saved and loaded and totals from one file carried forward to 
another on cassette. Particularly useful from a cash flow point of view, 
with an immediate accessibility to totals for debtors and creditors. Bank 
totally supported with entries for cheque numbers, credits and, of 
course, running balance. 

MAILING LIST . . . £19.95 

Compatible with most micros. See table. A superb 

dedicated database to allow for manipulations of names 
and addresses and other data. Gemini's unique 'searchke/ 
system gives you a further ten 'user-defined parameters' to make your 
own selections. Features include the facility to find a name or detail 
when only part of the detail is known, it will print labels in a variety of 
user specified formats. 





DATABASE ...£19.95 

Compatible with most micros. See table. The program that 
everyone needs, the most valuable and versatile in your 
collection. Facilities include sort search, list print if required. 
Can be used in place of any card index application; once purchased 
you can write your own dedicated database to suit your particular 
needs with a limitless number of entries on separate cassettes. 

■R STOCK CONTOOL . . . £19.95 

TK Y Compatible with most micros. See table. Dedicated 

i\ | software wfth all that's necessary to keep control of stock. 
I I \j I This program will take the tedium out of stock control and 
save time and money. Routines include stock set up, user reference 
number, minimum stock level, financial summary, line print records, 
quick stock summary, add stock, delete/change record and more. 

HOME ACCOUNTS . . . £19.95 

Compatible with most micros. See table. Runs a complete 
home finance package for you with every facility necessary 
for keeping a track of regular and other expenses, bank 

account mortgage, H.P. etc. This program also allows you to plot 

graphically by Listograms your monthly outgoings. 

WORD PROCESSOR . . . £19.95 

Compatible with most micros. Sec table. This program 
features routines found in much larger and more expensive 
packages with a typical word length of 5-6 letters it allows 
for around 1 000 words in memory at one time. Ideal for the user who 
requires a simple program to write letters on his computer. Features 
include, block delete, block insert, search and replace, edit text, display 
text and more. 





rrti' i- ■■"■"■■ » 



tltllllttlllttll 



ItltlM-" 



Dealer/Trade enquiries invited - generous trade discounts for quantity 
Spedal ACCESS card instant sales hotline X#»l« AOOCO C4^C 
for GUARANTEED prompt despatch ... Id ♦ Uw73ZOl 03 

24 hr Ansaphone Service. 

All enquiries other than credit card sales to 03952-5832 

Gemini. Functional Software Specialists. 9, Salterton Road, Exmouth, Devon. 

c 

I 

I 
I 
I 
I 

I 

I 



Tick the box for Program you require. Prices include VAT. and Package and Postage. 
Please supply the following cassette software. 

Database £19.95 □ 

Stock Control £19.95 □ 

Mailing List .- — £19.95 □ 



Invoices and Statements £19.95 □ 

Commercial Accounts £19.95 □ 

Home Accounts -..........-»..»»»- £1 9.95 D 



ZX81 16K Database 
BBC Cash Book dMorwc.. 
BBC Disks - other titles .. 
Osborne Disk Database 
Word processor , 

OCCOCOtC HHtMdiHmtit* 

Dragoncatc — 



l'"MI"!l 



£9.95 D 

£95.00 a 

£23.95 D 

£23.95 D 

£19.95D 

... £19.95 □ 
... £19.95 D 



Name_ 



Address. 



Machine Type. 
I enclose 



.Memory Size, 



Make cheques and postal orders payable to Gemini Marketins Ltd. 



Diners Card Number. 



JCU* 




.Access Number. 

Signature; 



Gemini. Functional Software Specialists, 9 Salterton Road, 
Exmouth, Devon. EX8 2QG. 




May 1983 BBC MICRO USER 7 




COMPUTER COMPANY LIMITED 

choice for BBC microcomputers 



BBC COMPUTERS 

Model B £346.95 

Model B + Disc Interface £441.95 

BBC MICRO DISC DRIVES 

BBC 31 Single 100K Drive 

Expandable to 2 x 100K £199.00 

BBC 32 Dual 1 00K Drives £330.00 
BBC33 100KUpgradefor 

BBC 31 £122.00 

BBC 34 Dual 400K Drives £649.00 

BBC 35 Acorn Utilities Disc/Manual £30.00 
(supplied only with BBC 31, 32, 34) 
All Drives except BBC 33 supplied cased 
with Connecting Leads. 

BBC UPGRADE KITS 

BBCA2B Complete A to B Upgrade £44.75 

BBC 1 16K Memory £18.00 

BBC2 Printer/User 1/0 Kit £ 7.50 

BBC 3 Disc Interface Kit £95.00 

BBC4 Analogue Input Kit £ 6.70 

BBC 5 Serial 1/0 RGB Kit £ 7.30 

BBC 6 Bus. Expansion Kit £ 6.45 

All kits are supplied with full fitting 
instructions. 







rmrm 



J 





■ i a * * ^V V ^ 4 \J I LI r T i It r ^r tf * 


£■— - h 2 ^ . 


ti^iX, 1-^ \^ ^ P^ l^-i ^ I — . h- 






1^ w ^m ^ ^#^#y^y^* ^ ^ m m ■ u ■ ^^ ^ 4P ^^ w ^f ■! ^ 



f^- f^ 



1±* 



Fast ex-stack 



delivery by 5e curl car 






BBC CONNECTORS 

BBC 21 Printer Cable and Amphenol 



Plug (not assembled! 
BBC 22 User Port Connector and 

Cable 36" 
BBC 23 Cassette Lead 
BBC 24 7 Pin Din Plug 
BBC 25 6 Pin Din Plug 
BBC 26 5PinDinPluQ 

BBC 35 Disc 1 /0 Cable 34W IDC to 
2 x 34 way Card Edge 

BBC 36 Disc Power Cable 

BBC 44 Analogue Input Plug 
& Lever 

BBC 66 IMBusConnector 
+ 36' Cable 

BBC ACCESSORIES 

BBC 46 Joysticks (per pair) 
BBC 67 Eprom Programmer 

(assembled! 



£13.00 

£ 2 46 
£ 3.50 
£ 0.60 
£ 60 

£ 60 

£12.00 
£ 6.00 

£ 2.25 

£ 3,90 



£11.30 
£5795 



ACORNSOFT 
FOR THE BBC 

SBE03 Business Games 
SBE04 Tree of Knowledge 
SBE02 Peeko ComputerTnc 

Manual 
SBE01 Algebrail Manipulation 

5BX01 Creative Graphics 

Cassette 

SBX02 Graphs & Charts 

Cassette 

SBB01 Desk Diary Inc Manual 

SBL02 Lisp Cassette 

SBL01 Forth Cassette 

SBG01 Philosophers Guest 

SBG07 Sphinx Adventure 

SBG03 Monsters 

5BG04 Snapper 

SBG15 Planetoid 

SBG06 Arcade Action 

SBG05 Rocket Raid 

SBG13 Meteors 

SBG14 Arcadians 

SBG10 Chess 



£ 
£ 



8.65 

8.65 



ACORNSOFT BOOKS FOR THE 

BBC MICRO 

SBD01 Creative Graphics £ 7 50 

SBD02 Graphs - Charts t 7.50 

SBD04 Lisp £ 7.50 

SBD03 Forth £ 7.50 

* Please ring for current delivery on 
Acornsoft products before ordering. 



£ 6.65 

£ 8 65 

£ 8.65 

£ 8 65 
£ 8.65 
£14.85 
£14.65 
£ 8.65 
£ 8.66 
£ 8.65 
£ 8.65 
£ 8.65 
£10.35 
£ 8.65 
£ 8.65 
£ 8.65 
£ 8.85 



from Cast Anglias 
leading supplier 



BBC MICRO COMPONENTS 

4516 100NS 

6522 

74LS244 

74LS245 

74LS163 

DS3691 N 

DS88LS120N 

UPD70O2 

8271 

20 Way Header 

26 Way Header 

34 Way Header 

40 Way Header 

15WayDSkt 

6 Way Din Skt 

5 Way Din Skt 

BBC SOFTWARE IN ROM. 

Wordprocessor "View" 
1.2 MOS 



£ 2.26 
£ 3.19 
£ 0.59 
£ 0.69 
£ 0.34 
£ 4.50 
£ 4.50 
£ 4.50 
£36.00 
£ 1 46 
1.76 
2.06 
2.32 
2.15 
0.90 
0.90 



£ 
£ 
£ 

£ 
£ 
£ 



£52.00 

£10.00 






'>-■ 



''^?>$i° 



oo 



MIDWICH COMPUTER COMPANY LIMITED 

RICKINGHALL HOUSE RICKINGHALL SUFFOLK IP22 1HH 

TELEPHONE (0379) DISS 898751 



8 BBC MICRO USER May 1983 




Down Under drive 



ECONETS may be in 
short supply here, but the 
Australians have just 
installed their hundredth 
system. 

The official launch of 
the BBC Micro in 
Australia was on St. 
Valentine's day. Since 
then, the discerning 
Australians have been 



snapping them up like hot 
cakes. 

Not to be outdone, 
NBC, New Zealand's 
version of the BBC, has 
been showing the Micro 
program. Unlike the 
BBC, NBC are actually 
able to directly advertise 
the BBC Micro and are 
pushing it strongly. 



MICRO PROGRAM COULD 



SAVE 




TV THOUSANDS 



A MAJOR breakthrough that could save 
BBC Television thousands of pounds in 
equipment costs has been made by BBC TV 
networks engineer Tim Kennington using a 

BBC Micro. 

Kennington, 31, has 
written a program that 
enables the BBC Micro 
to be used as a ter- 
minal to create pages 
on the Ceefax service. 

If current tests with the 
program are successful 
BBC TV outside 
broadcast teams will use 
micros to transmit 
Ceefax pages direct from 
live events. The first 
major trial is this month 
at the Sheffield snooker 
championships. 

The BBC newsroom 
that prepares existing 
Ceefax pages currently 
uses Aston intelligent ter- 
minals linked to a PDP1 1 
mini computer. 

Each terminal costs 
several thousand pounds. 



Room for 
16 ROMs 

STEALING a march on 
Acorn is Watford 
Electronics which has 
produced a carrier-board 
to give the BBC Micro a 
16 ROM socket 
capability. 

The board has 13 
ROM sockets. It plugs 
into one of the four 
sockets currently avail- 
able on the BBC Micro to 
give a total of 16. 

Watford Electronics is 
to produce the board 
itself, and managing 
director Nazir Jessa says 
it will be available from 
the end of this month for 
£19.95. 




Tim Kennington . . a breakthrough 



but with Kennington's 
program a BBC Micro, 
costing only £399, can do 
the same job. 

"We won't replace the 
existing newsroom ter- 
minals," said a BBC 
spokesman, "but for 
future developments the 
price and the portability 
of the micro has 
tremendous advan- 
tages." 



- - 



With it our staff 
could also work from 
home if necessary and 
either send the completed 
pages by telephone to the 
Ceefax computer or bring 
them in to Television 
Centre on a floppy disc. 
"It could also be used 
in BBC newsrooms and 
production offices want- 
ing to contribute to 
Ceefax." 



MICRO MARATHON PLANNED 



THE most ambitious TV 
programme on the micro 
ever attempted is now 
being planned by the 
BBC's Computer 
Literacy team. 

Called "Making the 
Most of Your Micro - 
Live", it will start at 
1 1 am on Sunday, 
October 2. and last for 



two hours. It will be pre- 
sented by Ian McNaught- 
Davis, who also hosted 
the recently-ended TV 
series. 

Invited 

Readers of BBC Micro 
User are being asked to 
play an active part in 
helping decide what goes 



into the programme, and 
a number of them will be 
invited to be in the studio 
audience. 

Anyone who would 
like to participate is 
asked to fill in and return 
the form on Page 11. 

"At this stage we are 
very flexible about the 
structure of the 



programme", said 
director Patrick Titley. 
"The studio audience will 
consist of both experts 
and users, and Mac will 
invite them to join in the 
discussions and demon- 
strations. 

"There will be filmed 

Turn to Page 11 



BBC users 

plump for 
Micronet 



MORE than 1,000 
people joined Micronet 
800, the Prestel-based 
information and software 
database service, in the 
first month of its opera- 
tion. 

All the subscribers are 
BBC Micro users. 

Managing director 
Richard Hease said that 
even though Micronet 
800 was a revolutionary 
service bound to interest 
micro users, the response 
was still beyond initial 
expectations. 

The first person to 
register was Surrey estate 
agent Jeremy Dredge. 

He had heard about 
the proposed service last 
December and im- 
mediately sold his Vic 20, 
which he'd been using for 
three months, and bought 
the BBC machine. 

Hunch 

"I felt that because the 
BBC was so expandable 
it was likely to be one of 
the first micros to be con- 
nected to Micronet 800. 
It proved to be a lucky 
hunch." 

He said Micronet 800 
was enormous fun to use 
and easy to follow. 



May 1983 BBC MICRO USER 9 




This practical copy-holder to make it 
easier for you to key in programs, 
together with a specially designed crib 
sheet of essential information . . . 

FREE WHEN YOU ORDER A 
YEAR'S SUBSCRIPTION TO 
BBC MICRO USER ON THE 
FORM OVERLEAF 

You can also order . . . 




Cassette tapes 




T-shirts and Sweat shirts 1 


/ /i*f l 

/ / BBC 
/ / MICRO 

( c\ USER 


\Vy B BC i If 
i \ | MICRO W 
\-\J USER 



Binders and dust covers 




ORDER FORM OVERLEAF 



411 



r 



ORDER FORM 



■r> 



All prices include postage, packing and VAT, 
and are valid to 30 June 1983. 



Please enter number 

required in box £ 



BBC Micro User 

annual subscription UK £12 

EIRE £13 

EUROPE £18 

Surface mail - USA £15 

Air mail - USA £25 

Surface mail - Rest of world £15 

Air mail - Rest of world £30 

Starting with month: 1983 



TOTAL 



BBC Micro User back issues 



£1.25 UK 
Rest of world: 
£1.50 - Surface 
£2.50 - Air mail 



March 1983 
April 1983 

TOTAL 




Cassette tape 
annual subscription 

£40 (UK & Overseas) 
Starting with Vol 1, No 



TOTAL 



Cassette tape single copies 
£3.75 



(UK & Overseas) 



March 1983 
April 1983 
May 1983 

TOTAL 



Dust Covers 
£3.25 

(UK & Overseas) 



TOTAL 



Binders 

£3.95 - UK 

£5.00 - Overseas 



TOTAL 



T-ShirtS £3.29 (UK & Overseas) 
Sweatshirts £6.29 (UK & Overseas) 



Age 6-8 28" 

Age 10-12 3CT-32" 

Small 34"-36" 

Medium 36"-38" 

Large 38"-40" 

Extra Large 40"-42" 



T-Shirt 


Sweat Shirt 


Blue 1 White 


Blue 


White] 

















































TOTAL 



Payment: please indicate method (/) 

Access/Mastercharge/Eurocard 

Bardaycard/Visa 

American Express 

Card No 



TOTAL 




Expiry Date 



I I Cheaue/PO made payable to Database Publications Ltd. 



JjsBffi 



Name 



Address 



Signed 



Bond to: BBC Micro Uwr, FREEPOST, Europe) Hour*. 
68 Chaster Road, Haiol Grove), Stockport 8K7 BNY. 

(No stamp needed if potted In UK) 



i 



Or you can order by phone 
quoting credit card number 
end expiry data. 



061-456 4157 

9 am - 5pm 



\ i 



I 





A NOVEL approach to 
the standard violence in 
arcade games has been 
taken by Squirrel Soft- 
ware. 

"With our games 
we've deliberately moved 
away from the 
murderous aspect of 'zap 
and kill'," said a 
spokesman. Their first 
offering is Supergolf, in 
which the flight of the 
golf-ball is faithfully 



reproduced depending on 
which club a player 
chooses. For example, 
you can control backspin 
using a sand-iron. 

And with another 
program, Bunfight, a 
player's reactions, 
concentration, timing and 
rhythm are all severely 
tested in trying to cope 
with two jobs at the same 
time on the icebun 
production line. 






mmmm 



■ ■ ■:■:"■■-:: ■: ■■-: ■'■:::■■ : : ■ ■ 
■rr-:-'v^^::: : ::^: ; r : : : :^-:--vif;.- : :: : ::' : : 



■.;::;■■■'■ :■:"-■ : ':!-:■:,".:.:.■■ ■ ';'; : ■ ' .;■'::. ":': ■ ■ '■ - : :' : : ■■-■:.'"!!.■ ■■ ; : '■ '■ '■-■ : : ■ 



Softly, softly June 

launch for Electron 



ACORN'S new micro, the Electron, will start 
going out to dealers in June, but only in 
limited quantities. According to joint manag- 
ing director Chris Curry: "It's going to be a 
very shallow start-up, to spot any trouble 
before the problem gets too big. 
"It will not be avail- 



able in large quantities 

until October." 

One interesting 
development is that the 
keyboard features single 
key entry of Basic key- 
words - a clear sign that 
it is aimed at the 
Spectrum market. 

However, keywords 
can still be spelled out in 
the usual way. Despite 
these changes, the Basic 
and operating system are 
said to be much the same 
as in the BBC Micro. 

The cost of the micro 

Sackcloth 
section 

The distributors of the 
Kaga monitor, reviewed 
last month, have pointed 
out that the model we 
reviewed was aligned for 
the Apple. 

Had it been set up for 
the BBC Micro as it 
should, there would have 
been no clipping of the 
lines at the top and 
bottom of the screen. We 
regret the error. 



is expected to be around 
£150. For this you get a 
computer with 32k of 
RAM which will support 
all of the BBC Micro's 
modes except No. 7, the 
teletext mode. 

This basic version can 
be expanded so as to 
have all the facilities of 
the full BBC Micro. Add 
on units will include 



Econet, teletext, games 
paddles, RS423 and 
parallel printer interfaces 
and a disc interface. 

The fully expanded 
version will cost "a frac- 
tion more" than its 
equivalent, the model B. 

The pre-production 
Electron shown to BBC 
Micro User is very 
similar in style to the 
BBC Micro, though 
somewhat smaller and 
more elegant. 

The full size keyboard 
lacks specific user- 
defined keys and features 
an altered layout. 

Function keys can be 
obtained by "shifting" 



the letter keys, which also 
bear the legends of the 
Basic keywords for single 
key entry. 

The keyboard can also 
be fully "exploded", 
allowing the user to com- 
pletely redefine each key. 

Advanced 

The Electron comes 
with an internal switched 
mode power supply. The 
isolating transformer is, 
however, built into the 
mains plug. 

"I won't open it up," 
said Curry. "The thing's 
so advanced there are 
only a couple of chips in 
it." 



Now 

CAL 



I 



60s are a good age to get 



AN old hand on a young 
machine is Bill Heywood 
who is probably the 
oldest, as well as one of 
the most enthusiastic 
BBC Micro dealers in the 
country. 

Bill is 68. He's sold 
about 60 BBC Micros 
since taking on the 
machine late last year 
and is waiting for 
business to slacken off a 
bit so that he can start 
developing some music 
software for it. 

'The problem with 



into micros 



it- 



computers," he said, "is 
there is so much to learn. 

"We are going into it 
properly - not just play- 
ing with it - and are 
learning more each day." 

His company, 

Almaine, is in Colne on 
the north eastern border 
of Lancashire. Its name 
is a spin off from the 
1930s. Says Bill: "It was 



a bit of a snob effort at 
the time, with everyone 
converting their battery 
powered radios to run on 
mains supplies." 

He has handled TV 
sales and repairs since 
1946 and decided to 
move into the micro 
market two years ago, 
selling the Acorn Atom. 
Taking on the BBC 



Micro was a natural pro- 
gression. 

Bill and his two 
partners, Noel Finucane, 
31, and Mike Speak, 23, 
also sell BBC Micro 
software and carry out 
their own repairs. 

Bill has no thoughts of 
retirement - he says he 
wouldn't know what to 
do with his spare time. 
"I'm younger and fitter 
than people half my age," 
he claims, "and haven't 
had half a day off sick in 
54 years. 



TJ 



10 BBC MICRO USER May 1983 







probe opens into 

training nurses 



Packing 
it in . . . 



A PURPOSE-designed 
stand for the BBC Micro 
is claimed by manu- 
facturers Zygon Pro- 
ducts to pack maximum 
units into minimum area. 

Space on the top shelf 
is provided for TV or 
monitor and for the 
cassette recorder or disc 
drives. The BBC Micro 
itself sits on the lower 
shelf which, when not in 
use, can be slid back to 
protect it. 

It costs £59. 



A THREE year project 
to investigate the use of 
micros to train nurses has 
been launched by the 
West Lambeth Health 
Authority's Nightingale 
School of Nursing in 
London. 

Two BBC Micros are 
to be used in the project 
which is funded jointly by 
the Health Authority and 
the DHSS. 

Project leader is Susan 
Norman, a senior nursing 



tutor, who will be work- 
ing closely with pro- 
grammers at the Uni- 
versity of Surrey. 

Their first aim is to 
assess the effectiveness of 
computer aided learning 
in nursing education for 
both trained and novice 
nurses. If that proves 
successful they will 
develop software for 
practical use. 

"It will be difficult to 
assess the actual role 



Two-in-one TV 



USERS can upgrade 
from black and white 
computing as well as 
black and white tele- 
vision all in one go with a 
new monitor/TV from 
Electronequip. 

The 14in colour port- 
able monitor/TV is not a 
modified television - it 
has been designed to 
perform both functions. 



The makers claim it 
has better resolution than 
normal TVs and many 80 
column monitors. The 
standard model is 
supplied with an RGB 
cable which plugs into 
the back of the BBC 
Micro and has composite 
video and sound input 
capabilities. It costs 
£244.95. 



played by CAL because 
it won't simply replace 
other methods of learn- 
ing," said Miss Janice 
Cackett, director of nurs- 
ing education at the 
school. 

"We will want to see 
first whether we can write 
a program that people 
will actually use - and 
obviously we will be 
drawing on the 
experience of CAL 
gained in other teaching 
fields." 

She said a wide range 
of micros was assessed 
before choosing the BBC 
machine for the project. 

"We liked it because it 
was very easily available, 
robust and easy to use. 
Other packages being 
developed on the 
machine for use in 
schools could well be 
adapted for nursing, and 
we felt that people might 
have had more contact 
with the BBC Micro than 
with other machines." 



School 

micro 

meet 



UNHERALDED amid 
the proliferation of 
software and hardware 
for the BBC Micro is a 
growth of interesting 
acronymns. 

The latest is NAME- 
BUG, for the North and 
Mid-Essex BBC Micro 
User Group. 

The group meets on 
the second Thursday of 
each month at a compre- 
hensive school in Witham 
and membership is open 
to anyone with an 
interest in micros, regard- 
less of whether they 
actually own a machine. 

Meetings involve a 
program of talks and 
demonstrations by local 
dealers, followed by a 
general forum. 

Workshop evenings 
for members interested in 
modifications, upgrades 
and interfacing are also 
planned. 

For more information, 
telephone Dave Watts 
(0245 358127) or Andy 
Purkiss (0376 515609) 
after 7pm. 



THE BBC MICRO MARATHON 



From Page 9 

stories about unusual 
applications, and during 
the two hours we will 
attempt to answer as 
many questions as we 
can, both from viewers 



who phone in and those 
sent in writing. 

"We won't be able to 
reply to everyone who 
writes in, but we will read 
what they have to say 
very carefully and this 
will help us decide what 



goes into the 
programme." 

This micro marathon 
will be followed by 
weekly repeats of 
"Making the Most of the 
Micro". 

Also in the BBC 



pipeline are two more 
series — "The Electronic 
Office", about computers 
in business, and 
"Computers and Con- 
trol", covering their use 
in industry. They will be 
shown in 1984. 



READERS of BBC Micro User who would like to 
be in the studio audience for the transmission of 
"Make the Most of Your Micro - Live", or who 
have questions about microcomputing they would 
like to see answered on the programme, should 
complete this form and post it to: 

Micro Special 

BBC 

PO Box 7 

London W3 6XJ 



G I would like the programme to discuss the 
following subject/s: 



Name 



D I would like some advice on the following: 



Address 



O I would like to be considered as a member of 
your studio audience 



Daytime phone no 



I own a BBC Micro YES D NO D 



j 



May 1983 BBC MICRO USER 11 



Americans 

get full 

treatment 



THE American version 
of the BBC Micro will be 
an all-singing, if not quite 
dancing, fully -expanded 
model B. 

On board as standard 
will be disc and Econet 
interfaces, the speech 
synthesiser and View, the 
Acornsoft word pro- 
cessor. The ensemble will 
sell for $995. 

Despite the fact that 
Acorn has a large - and 
very expensive - 
publicity drive currently 
underway in the States, 
the machine itself will not 
go onto the market there 
until the end of June. 

Apparently the BBC 
Micro has yet to be 
approved by the 
appropriate Federal 
Commission. Also the 
dealer network has still to 
be finalised. 

Pricing 

One thing that is 
certain is that the "super 
B" version would not be 
available in Britain - it's 
export only. 

Acorn is also ex- 
periencing pricing 
problems on the export 
side. It seems some of 
its dealers are already 
rather naughtily export- 
ing BBC Micros at a 
price that undercuts that 
of the official export 
product. 

"That, and the falling 
pound, are giving us 
some headaches," said an 
Acorn spokesman. 




BBC Micro roadshow takes 



THE BBC Micro has 
taken to the buses in the 
North West of England. 
Eleven micros are in- 
stalled on a double 
decker bus as part of 
Salford University's 
micro roadshow. 

It visits schools and 
colleges in the region to 
provide on-the-spot train- 
ing, demonstrations and 



to the buses 



advice, and a second bus 
is to be commissioned 
this month. 

"In four or five years' 
time, everyone will be 
sitting down at com- 
puters and using the key- 



board," said Roger Ross 
of CAMPUS, the 

campaign for the promo- 
tion of the university of 
Salford. 

"We want to show 
everyone, from the early 



BUG BYTE'S MAIL MOVE 



THE mail order activities of the 
Liverpool software house Bug Byte 
have been taken over by a new com- 
pany, Software Express. 

It will sell the company's games for 
the BBC Micro from a Freepost 
address, providing post and packaging 



free. There are 10 titles at present. 

A spokesman for Software Express 
said the company will measure the 
response to the Bug Byte games before 
deciding whether to start developing its 
own software, or to take on the 
products of other software developers. 



primary school to the 
sixth form, what com- 
puters can do." 

Mr Ross said the road- 
show had already been a 
tremendous benefit to 
schools. 

"One high school was 
having difficulty keeping 
abreast of the latest 
technology. 

"However, their head- 
master was so impressed 

with what he saw on the 
bus that he's now plan- 
ning to put more money 
into computer studies to 
develop the potential." 

Dubbed Mobec (for 
mobile education centre) 
the bus has exhibition 
and demonstration space 
on the lower deck and a 
study/lecture lounge up- 
stairs. 




SO "Making the Most 
of Your Micro" has 
ended - and I, for one, 
have managed to con- 
trol my grief 

The series had all the 
entertainment value of 
the Eurovision Song 
Contest but none of its 
intellectual depth. 

My star moment was 
when John Coll was 
asked about a data 
transfer. The conversa- 
tion went like this: 

"How fast does it 
go?" enquired straight 
man McNaught Davis. 

"Very fast ', came the 
informative reply. 

Making the most of 
the micro? Blue Peter 



could have made more 
of it! 

• * • 

ONE of Acornsoft 's 
mandarins came close 
to apoplexy the other 
day. The occasion was 
the wining and dining 
of a pair of their poten- 
tial authors. 

One of the duo 
casually remarked that 
he'd never seen an 
original Acornsoft disc 
or cassette. 

"Oh they're very 
good", the mandarin 
assured him. 

"I know", came the 
reply. "I've got all the 
programs. So's every- 



one else I know. It 's just 
that I've never seen an 
original" 

• • • 

IT could have been 
nasty, very nasty 
indeed. Imagine the red 
faces at Acorn if the 
cost of a new Electron 
plus the cost of its 
upgrading to full BBC 
Micro status came to 
less than that of a 
brand new model B. 

After all. Acorn 
won't be paying their 
tithe to the BBC on this 
one, which allows for 
some flexibility in the 
costings. 

A nd, of course, that 



terribly clever new 

technology must make 

for lower overheads. 

Pricing must have been 

an absolute nightmare! 

As it is, the cost of 

the totally upgraded 

Electron comes to "a 

fraction more" than 

that of a new model B. 

Lucky for Acorn, that. 

• • • 

THOSE terribly nice 
people at Acorn seem to 
be getting themselves 
into all sorts of trouble 
predicting the release 
dates for their various 
items of new kit. 

So I'm providing 
them, free of charge, a 



computer program that 
will do the job for them 
with, I'm certain, the 
same degree of 
accuracy: 

10 DATA January, 
February, March, 
April, May, June 

20 DATA, July, 
August, September, 
October, Novem- 
ber, December 

30 DIM A$ (12) 

40 FOR 1= 1 to 12: 
READ A$ (I) : 
NEXT I 

50 INPUT "Item",item 

60 P. item "will be 
available in "; 

70 P. AS (RND(12)) 



12 BBC MICRO USER May 1983 









Official 



BBC 



m 



Dealer 



« * - 




BBC 

Model B £399 

(price includes VAT. Carr. extra €81 

Complete Upgrade Kit £50 

Installation £15 

Individual Components also 

available. 

All mating connectors with 

cables in stock. 



'VIEW BBC Word Processor ROM 
Teletext Adaptor 

2nd Processor (6502) + 64K RAM 
2nd Processor (Z80) + 64K RAM 

Please Phone to Check Delivery Details on New Add-ons 




£170 
£170 



WIDE RANGE OF SOFTWARE HELD IN STOCK 



SEND or PHONE FOR OUR BBC LEAFLET 



BBC COMPATIBLE 5%" DISC DRIVES 

These are TEAC mechanism fully compatible with BBC. They are 
supplied with independent power supply and housed in BBC 
matching cabinet. 

SINGLE DRIVES: 100KE190 200KE255 400KE345 

DUALDRIVE: 200KE380 400KE480 800KE610 

Carr. £6/Singie drive £8/Duai drive. Disc Cable: Single £8 Dual £12 

PRINTERS 

NECPC8023BEC 

• 80 Cols. 100 CPS • Proportional 
Spacing • Hi-Res & Block Graphics 

• Bi-directional Logic Seeking • Forward 
& Reverse Line Feed • International & 
Greek Alphabet • Auto underline 

• Super & Sub Scripts • 2K Built-in 
buffer 
£345+ £8 Carr 



BBC DISC SYSTEM 

Disc Interface inc. 1.2 operating 

System £95 Installation £20 

BBC Single Drive (100K) 

£230 + £6 Carr. 

BBC Dual Drive (800K) 

£699 + £6 Carr. 

A wide range of Software from Acorn, 

BBC and others for education and fun 

in stock. 



BOOKS 

Basic Programming on BBC £5.95 

30 HR Basic (NEC) £5.95 

Let your BBC teach you to Program £6.95 

BBC Micro Revealed £7.95 

Assy. Lang. Program on BBC £8.95 

Program the 6502 £10.75 6502 Games £10.75 

6502 Software Design £10.50 

(No VAT on Books- E1 p&p/book) 

For Full Details of Add-ons for BBC 
Send for our Leaflet. 



Disc operating 

manual + formatting 

diskette £17.50 + 

£1.50 p&p 



DISKETTES 

in packs of 10 

Single Sided 40 tracks £15 
Single Sided 80 tracks £24 
Double Sided 80 tracks £32 

p&p £2 /pack 



A. 




EPSON PRINTERS 

FX80 includes all the facilities of 

MX80 plus 160 cps plus storage of 

pre programmed characters plus 

proportional spacing and italics. 

Price: £430 + £8 Carr. 

RX80 as MX80 but with 100cps 

and tractor. 

Price £298 + £8 Carr. 

MX 100 FD3 £425 + £8 Carr. 



SEIKOSHAGP100A 

• 80 Cols. 30 CPS • Self Testing • Hi-Res 
Graphics • Standard & Double width 
characters only 
£185 + £6 Carr. 



Please send SAE for our detailed price list of 
electronic and computer components 




MONITORS 



Microvitec 1431 14" Colour Monitor 
£269 + £8 Carr. 

Microvitec 2031 20" Colour Monitor 
£389 + £8 Carr. 



Kaga 12" Colour Monitor RGB 
£250 + £8 Carr. 

Kaga 12" Antiglare Green Monitor 
£107 + £6 Carr. 

Hi-Res 12" Green Screen Antiglare 
Monitor £99 + £6 Carr. 



Cassette Recorder 
£26 + £1.50 Carr. 

Cassette Leads 

7 pin DIN 3 jacks £3.50 

7 pin DIN pin DIN + jack £4.00 



We carry a wide range of connectors and assemblies. Microprocessors, RAMs, EPROMs, Crystals, etc. 
Price Lists, Leaflets available on request. Large stocks enable same day despatch on most orders. 
Special pricing for dealers purchasing in quantity. 



Technomatic Ltd 

MAIL ORDERS TO: 17 Bl RNLKY ROAD, LONDON NW10 1ED 

SHOPS AT: 17 BURNLEY ROAD, LONDON NWI0 

(Tel: 01-452 1500. 01-4506597. Telex: 922800) 

305 EDGWARE ROAD, LONDON W2 



PLEASE ADD 40p p&p & 15% VAT 

(Export: no VAT, p&p at CosO 

Orders from Government Depls. & Colleges etc. welcome. 



Detailed Price List on request. 
Stock items are normally by return of post 




May 1983 BBC MICRO USER 13 





Mr >;.\v Wfr. • - •••• ■••■■>/: ^^:-9@S^S^^^ 






j /D ■•' BOM lg|| 

• • — . ' • -• ••VwPSM 

[6PBOM> ' / •/ •:« 






SB 



i 



-*> 



INPUT ^ 







■:.:■■■ ,•■• 




s*S ■'.-■' v ■ ■ 







THIS is an interesting little program 
that is quite difficult to beat unless you 
really concentrate. It is based on the 
original card game of Pelmanism or 
Pairs, the idea being to shuffle the pack 
and lay the cards face down on the 
table, then in turn to view any two 
cards and make pairs. 

Where the cards are different they 
are replaced face down again — and the 
trick is to remember where they are 
situated. 

The first thing to be done was to 
decide on a simple uncluttered screen 
format, then to design the 20 pairs of 
options to fit the matrix. The VDU23 
statement on the BBC Micro is suitable 
for this purpose. 

The game difficulty is ensured by 
shuffling the pictures into different se- 



and clear the board 

■ 

at Pelmanism! 



quences. The array A% is used to hold 
die card type from one to 20 at each 
position (one to 40) on the table. The 
shuffling is performed by exchanging 
each entry in the A% array with 
another random entry. 

The degree of difficulty has been 
designed to allow a simple level 1 up to 
almost unbeatable level 6. This works 
on the principle that the previous 
number of moves will be remembered, 



by storing them in memory in the array 
M%. There is, of course no limit to the 
number of previous moves the com- 
puter's opponent may remember! The 
higher the degree of difficulty, the more 
previous moves the computer will 
remember. I 

The computer's play is straight 
forward. Where a pair has been 
displayed but no match found a record 
of the cards is stored from both the 



14 BBC MICRO USER May 1983 



computer's and the player's go. A 
search is done to find a pair from the 
cards stored in memory. When a match 
is found the cards are removed from 
the memory store and a point scored. 

If there is no match in memory, the 
computer selects a random card, which 
it will again try and match with its store 
of played cards, and only when a 
match is still not found will it choose a 
second random card. 

The code has been written in a 
structured manner and a brief descrip- 
tion of some of the points of interest 

follows. 

Always set mode at the start to 
ensure you have control of everything 
that goes onto the screen (line 40). 
This can avoid loading into an unsuit- 
able mode after running something else, 
and presenting unpredictable results on 

the screen. 

The main procedures are: 
PROCVBLE: used only once at the 
start to set up the DIM statements and 
initial variables used throughout the 
game (line 1490). 

PROCINIT: contains the initial values 
required to be set or reset at the start of 
each game (line 1290). 
PROCTITLE: this important proce- 
dure is executed first as it does such 
things as provide a short description 
and a full list of the control keys and 
the space bar, required to successfully 
run and play the program (line 1560). 

It is important, even when short of 
space, to include instructions with the 
code to avoid loss and wasted effort. 
There must be many programs lying 
around on tapes where the writer 



Pelmanism listing 



1 OREH M*m**#**t*mt#f§tttt*§ f#tt 

t PELMANISM • 

t Brian and Marian Clark < 
t Copyright (0 1983 • 

HttHti m i MHIIIMIIUtlUI 

20PR0CVBLE 

300N ERROR 60T01780 

4QNQDE7: PROCTITLE: IF PIC H0DE5»PR0CPI 



C 



50REPEAT N0DE5: PROCINIT 
40REPEAT PROCPLAY: UNTIL ENDGAME 
70UNTIL0 
80DEFPR0CPLAY 

90F0R II=24T028:PRINTTAB(0,II»SPC(20) 
;:NEXT 
100PRDC0N:*FXI5,1 

U0INPUTTAB(0,24)'lst Choice e.g.Al?"B 




^■*V 




\ 4 

EPROM> ' / 

foir" ww^ "H 




By BRIAN and 
MARIAN CLARK 

cannot remember quite what they were 
but knows that they work good and 
should not be overwritten! 
PROCENDGAME: deals with 
displaying the score, establishing who 
won and who lost. The procedure also 
includes a loop waiting for the space 
bar to be depressed to continue with 
the next game. It is better to wait for a 
particular key as this traps the in- 
advertent pressing of any key during 
play and missing the end game (line 
760). The program can then go back 
through PROCINIT for another game. 
PROCPLAY: contains the guts of the 
program. It is advisable to keep the 
code as high level as possible by calling 
other procedures that contain the 
detailed processing. This is to simplify 



I: IF FMVETERR 60T090 
120AX=254:BX=253:PR0CPRT:P1X=PI:XIX=](X 

:Y1X=YX 

130PR0C0N 

140INPUTTAB (0,27) "2nd Choice ? B B 
I: IF FNVETERR 60T0140 

150IF PX=P1X 60T0140 

160AX=252: BX=251 : PROCPRT: P2X=PX: X2I=H 

:Y2X=YX:TX=i 

170PRQCCL: IF CTXU)*CTX(2)=20 PR0CEND6 
AHEiENDPROC 

laOPROCCNPtIF CTX(U+CTX<2>=20 PROCEND 
GAME 

190ENDPR0C 

200REH VALIDATE INPUT CARD POSITION 

210DEFFNVETERR 

220IF LEFTf(B$,lK'A B OR LEFTI(Bf,l)> B 



error trapping (line 80). 

It is much neater to switch the 
cursor off when it is not being used and 
on again when awaiting input from the 
keyboard. (PROCON/PROCOFF 
lines 890,900). Line 100 performs a 
clear the input buffer (*FX15,1) just 
before accepting an input, to clear any 
extra key depressions during play. 

The control keys are disabled 
(*FX4,1 line 1500) so that during input 
the cursor cannot float all over the 
screen. 

It is always worth checking that the 
replies from the keyboard are valid 
within the context of the program. If a 
mistake is made on input the program 
must be able to cope. In this program 
the function VETERR (line 210) has 
been used which will return the value 
true if the input is not acceptable, i.e. 
outside the range AO to D9. 

If the input is invalid the use of TAB 
in the input statement ensures the ques- 
tion is repeated in the same place on 
the screen. Failure to do this could end 
up with the screen scrolling in the 
middle of the game. After input the 
cursor is switched off, but the input 
remains on the screen until the next 
input is prompted, when the whole 
input area is cleared. 

A standard output routine is often 
useful, in this case PROCPRT (line 
290) not only calculates the print posi- 
tion but also generates the graphic 
character required. 

If escape is pressed, whether by 
accident or design, it presents the title 
page by using the on error routine (line 
40). A nice touch, that. 



D" THEN:=TRUE 

230IF HID$(B*,2,1K"0 B OR HID*(Bf,2,l) 
>•?' THEN:=TRUE 

240IZ*VAL(HID*(B* V 2,1)> 

250JX=ASC (LEFT! (B* f 1 ) ) -Mi PX-10* ( JX-t ) 

+UIX 

260IF AX(PX)=0 THEM:=TRUE 

270=FALSE 

2B0REN DISPLY CARD 

290DEFPR0CPRT 

300PR0C0FF 

310ZX=AX(PX):YX=4+JX*3:XX«IXt2+i:PR0CC 
HAR 

320COL0URC IX ( ZX) : C0L0URCX ( ZX) 

330PRINTTAB(XX f YX)CHR$(AX>TABUX f (YX*l 

Turn to Page 73 



May 1983 BBC MICRO USER 15 



WATFORD ELECTRONICS 

DEPT BBC, CARDIFF ROAD, WATFORD, Herts, England 
Tel Watford (0923) 40588. Telex: 8956095 



MAIL ORDER AND RETAIL SHOP. TRADE AND EXPORT INQUIRIES WELCOME. 
GOVERNMENT AND EDUCATIONAL ESTABLISHMENTS OFFICIAL ORDERS ACCEPTED. 
Carriage; unliu stated otherwise, pleeee add mln. 50p to ell ceeh orders). 
\# ATAPPLICABLE TO UK CUSTOMERS ONLY. ALL PRICES EXCLUSIVE OF VAT. 
V A I PLEASE ADD 16% VAT TO THE TOTAL COST INCLUDING POSTAGE. SHOP 
HOURS: 9.00am TO 5.0Opm. MONDAY TO SATURDAY. AMPLE FREE CAR PARKING. 
ACCESS ORDERS: Simply telephone through your order on Watford 50234/40588. 



BBC MICROCOMPUTER 

Model A £299; Model B £399 

incl. VAT (carr £7) 

UPGRADE KITS. Upgrade your Model A to 
Mod. B with our Upgrade Kits and save 
yourself £ s s s 

• BBC1 16K Memory (8 x4816AP-3 100nS) £16.00 

• BBC2 Printer User I/O Port £6.98 

• BBC3 Disk Interface Kit £76.00 

• BBC4 Analogue I/O Kit £6.40 

• BBC5 Serial I/O Kit £6.70 

• BBC6 Expansion Bus Kit £6.10 

• Printer Cable Ready made 36" £11.95 

• Complete Upgrade Kit Mod. A to Mod. B E43.00 

Complete range of Connectors & Cables available for 
BBC Micro. Send SAE for list. 



DISC DRIVES 'TEAC BBC 
Compatible 




• US50A- Uncased, Single sided, 

40 track. 51". 100K £125 

• CL50A -Cased. Single sided, 

40 track, 5i\1uOK £150 

• CS50A — Cased with own Power Supply, 

S/S 40 track, 51". 100K £180 

• CD50A -Twin Cased with own PSU, 

Single sided, 40 track. 51"- 200K £350 

• CS50E — Single Cased with own PSU. 

Single Sided, 80 track. 6$\ 200K £250 

• CD50E — Twin cased with own PSU 

Double sided 80 track. h\" 400K f 475 

• CD50F — Twin Cased with own PSU, 

Double sided, 80 track, 5i", 800K £599 

• Mitsubishi Slim Line - Uncased. Double 
density, Double track, 5^", One 
Megabytes, track density 96TPI, track to 

track access time 3mSec. ONLY £249 

• Single Mitsubishi Slimline cased with own PSU. 

1 Megabytes £299 

• Twin Mitsubishi Slimline cased with PSU. 2 
Megabytes £575 

• Single Drive Cable for BBC Micro £8 

• Twin Drive Cable for BBC Micro £12 

• 10 Verbatim Diskettes. 51". S/sided £18 

• 10 Verbatim Diskettes, 51", D/Sided £30 



BBC 
PRINTER 



GP100A 




10 Tractor 
Feed, 80 Columns, 
CPS normal & double 
width Char. 
Dot res graphics. Parallel interface std. Our 
price includes FREE 500 Sheets of paper. 

ONLY £176 (£7 carr.} 

SEIKOSHA GP250X 10" Tractor Feed, 
80 col. 50 CPS, normal & double width & 
height characters, RS232 & Centronics 
Interfaces standard. £235 (£7 carr) 



Printer Cable to interface above 
printers to BBC Micro 



NEC PC8023BE-C: 



<\ 




100 CPS, Bidirectional, logic seeking 80 
column. Tractor/Friction. 2K Buffer, etc. £320 
(£7 carr.) 



EPSON 



NEW FX80 



1 0" Tractor/Friction feed, 1 60 CPS, 11x9 
matrix. 137 columns max.. Bidirectional, Logic 
seeking, proportional spacing, Hi-res bit image. 
Italics & Elite Char, Subscript & Superscript. 
£399 (£7 carr.) 



MX100FT/3 

15" Carriage, 136 columns, plus all the 
facilities of MX80FT/3 Only £425 (£7 carr) 



LISTING PAPER 

8J" x 9J" Fanfold paper plain or ruled 
(1000 sheets! £7(150pcarr) 

15" fanfold paper (1000 sheets) 

£9(150pcarr) 

Teleprinter Roll (econo paper) £3 (£1.50 carr.] 



MONITORS 



£11 



MICROVITEC 1431 

14" Colour Monitor. RGB 
Input, (as used in BBC 
programs) FREE Interface 
Lead. 

£249.95 (carr. £7) 
SANYO 3125 14" 
Attractive screened 
money. £199 (carr. 
Interface Lead for Sanyo £8. 
ZENITH 12" Green Monitor. 
£75 (£7 carr.) 




Colour. RGB & V.H. Sync, 
metal Cabinet. Value for 
£7). 



Hi-resolution 



CASSETTE RECORDER & 
ACC. 

Top quality Slim-line, portable Cassette 
Recorder. Ideal for Computer use. 
Mains/Batt. operated with counter. £28.00 

CI 2 Computer Grade Cassettes in library 
cases. 

40p 



BBC FORTH on Cassette 

Follows FORTH-79 standard and has fig-Forth 
facilities - Provides 260 FORTH words - 
infinitely extensible - Full screen editor - 
Allows full use of MOS - Permits use of all 
graphic modes, even 0-2 (just) - Easy recurtion 
- Runs faster than BBC BASIC. ONLY £13 
FREE 70 page manual and a Summary card. 

BBC FORTH TOOLKIT 

Adds following facilities to FORTH. 6502 
Assembler, providing machine-code within 
FORTH - Turtle graphics enables easy to use 
colour graphics - Decompiler routines enables 
versatile examination of your compiled FORTH 
programs — Full double number set — An 
example FORTH program and graphics 
demonstration - Other useful routines - 64 
page manual. ONLY £10. 



REAOY-MADE LEADS 
for BBC 

CASSETTE LEADS 7 pin DIN Plug 

to 5 pin DIN Plug + 1 Jack Plug £2.00 

to 3 pin DIN Plug + 1 Jack Plug £2.00 

to 7 pin DIN Plug £2.50 

to 3 Jack Plugs £2.00 

6pin DIN to 6 pin DIN Plug (RGB) £2.50 



RIBBON CABLE LEADS 36" long 

(Female Plug at one end, other end free) 

SK9 Printer Cable (26 way Female) £2.75 

SK10 I/O Cable (20 way Female) £2.00 

SK11 1MHz Bus Cable (34 way Female) £3.20 

SK1 2 Tube Cable (40 way Female) £3.70 



PRINTER LEAD 36" 
Ready Made 



£11 



MISCELLANEOUS 






CONNECTORS 


Plugs 


Sockets 


RGB (6 pin DIN) 


30p 


45 P 


RS423 (5 pin Domino) 


30p 


40p 


Cassette (7 pin DIN) 


25p 


65p 


ECONET (5 pin DIN) 


15p 


25p 


Paddles (15 pin 'D') 


£1.10 


£2.15 


IDC MALE Headers 






to fit BBC PC Board 


2x10 way (20 pin User Port) 




£1.00 


2x13 way (26 pin Printer Port) 




£2.00 


2x17 way (34 pin DISC Intr) 




£2.35 


2x17 way (34 pin 1 MHz Bus) 




£2.35 


2 x 20 way (40 pin Tube) 




£2.50 


Official JOYSTICKS £11.50/pr 



LIGHT PEN 

All parts available for the Acorn User's "SHINE A 
LIGHT" Light Pen article for £8.50. 



BUSINESS SOFTWARE 

Written by professional Chartered Accountants and 
coded by competent Programmers* Ideal for small and 
medium size companies. 



CASH BOOK ACCOUNTS PACKAGE 
SPREAD SHEET ANALYSIS. 
BEEBCALC 



£82-00 
£17.39 



INVOICES & STATEMENTS 

Has customer file to produce Invoices & monthly 
statements. Calculations include automatic VAT. 
Saves hours of tedious work. £17.35 

COMMERCIAL ACCOUNTS 

The features include: Daily Journal, Credit Sales, 
Cash Sales, Credit Purchases, others. Sales Ledger. 
Purchase Ledger Bank Account, Year to date 
summary* A fully interactive program suitable for all 
businesses. Files can be saved and loaded. Useful 
for Cash flow control with an immediate accessibility 
to Debtors & Creditors totals. Bank totally 
supported incl. running balance £17.35 

MAILING LIST 

A dedicated database to allow manipulation of 

Names. Addresses and other information- The 

unique 'searchkey* system gives further 10 user 

definable parameters for own selections. Facility to 

find name or detail when only part of the detail is 

known. Prints labels in variety of user specified 

formats. £17.35 

DATABASE 

The program that everybody needs. Facility 
includes: Sort Search. List print if req., ideal for 
Card Index application. You can write your own 
Database to suit your req. with limitless number of 
entries on separate cassettes, CI 7.35 

STOCK CONTROL 

Takes tedium out of stock control and saves time 
and money. Routines include stock setup, user 
reference numbers, minimum stock level, financial 
summary, line print records, quick stock summary, 
add/delete stock, etc. £1 7.36 

HOME ACCOUNTS 

Runs a complete home finance package for you 
with every facility necessary for keeping track of all 
expenses like. HP. Bank. Mortgage, etc. £17.35 

WORD PROCESSOR 

This program features routines found In much larger 
and expensive programs. Very easy to use. Allows 
1000 words (approx) in memory. Ideal for writing 
letters. Features incl. block delete, block insert, 
search and replace, edit text, display text etc. 



£17.35 



16 BBC MICRO USER May 1983 



SPACE GAMES 



ALIEN DESTROYERS (32K) £7.95 

Sensational, high speed 'Invaders' program 
with an abundance of features. This program 
has many unique extras e.g.: Battle Analysis' 
showing the number of each alien type shot 
down. 

ASTRO NAVIGATOR (32K) C6.95 

Navigate your way through a variety of 
treacherous caverns, inhabited by killer 
rockmites. There are 5 skill levels and the top 
5 scores are ranked at the end. Excellent 
colour graphics and sound. 
ASTEROID BELT (16K/32K) £7.80 

A great new space game practically identical to 
the arcade original. An inspired piece of 
machine code programming producing one of 
the most exciting games around. 
CROAKER (32K) £6.95 

People - Huh I Pity us poor Frogs! Trying to 
hop the logs over the rivers was difficult but 
now the motorways. Then come the Crocodiles 
and diving turtles. Survival becomes just 
impossible. Arcade type, machine code, 
excellent sound and graphics. 
HITCH-HIKER (32K) . £5.95 

A great adventure game. Tests your skill and 
wits whilst trying to collect 5 objects scattered 
round the universe. Directions can be found in 

the clues. 

GALACTIC COMMANDER (32K) £7.95 

Nine phase aptitude test for aspiring space 
vehicle commanders. The program presents a 
real challenge and the use of machine code 
and hi-res graphics makes for beautifully 
smooth action. Great sound effects. 
LASER COMMAND (32K) £6.95 

Classic Defence of 6 Cities against attack from 
Alien plus random bombing raids from alien 
spacecraft. Super fast machine code arcade 
game with superb sound and graphics. 
MARTIANS £6.95 

Very popular. Defend your plant against the 
descending Martians with your Force-Field but 
beware of the Destroyers who can annihilate 

you. 

SPACEMAZE<32K) £6.95 

You have crash landed in the legendary 
labyrinth of Titan, inhabited by monsters known 
as 'FROOGS'. Find your way through to the 
TRANSMAT before being cornered and eaten. 
The game has 8 levels of skill and 3D colour 
graphics. 

SWOOP (32K) £6.95 

The new Galaxians it's here at lastl Galaxian 
style machine code arcade game. 30 
screaming, homing, bomb-dropping, explosive 
egg-laying Birdmen, swooping down in ones 
and two's to destroy your laser bases. The 
explosive eggs feature makes a normally 
difficult game into a challenge 'par excellence. 

TIMETREK(32K) £7.50 

The ultimate 'real-time' Startrek, where 
indecision in the battle zone is your major 
enemy. 20 skill levels. Special features: Panic 
Button for once only space leap, New Klingon 
fleet after 30 Stardates and Torpedo sight 
control. 



OTHER GAMES 

ADVENTURE (16K/32K) £7.50 

All the excitement, intrigue and frustration of a 
mainframe adventure. Explore the tortuous 
forests, dark caverns and castle dungeons. 
Great skill and imagination are required to play 
this game. 

ZOMBIES ISLAND (32K) £7.95 

Fight for survival on an island inhabited by 
hungry, dangerous cannibals. An excellent 
Basic and Machine Code program. 
CHARACTERS (16K/32K) £5.80 

Makes redefining of Invaders. Foreign 
Characters, Technical symbols, etc., character 
shapes simpler. Clumsy binary and hexadecimal 
notations are not req. anymore. 
CHESS (32K) £995 

An excellent machine code program with 
superb Mode 1, colour graphics, 6 levels, play 
black or white, illegal moves rejected, 'en 
passant' casting, take back of moves and 
display of player's cumulative move-time. 
COWBOY SHOOTOUT (32K) £6.50 

Full feature, 2 player, cowboy shooting game. 
Hide behind the cactus plants and moving 
chuck wagons until they are shot away. Shoot 
your opponent and avoid getting hit yourself. 



ELDORADO GOLD (32K) £6.50 

Legend has it that old Bill McCusky, who met 
a sudden death, had built up a vast treasure 
somewhere in the nearby territory. Can you 
end up rich where many have failed? 

FOOTER (32K) £6.95 

Another high resolution graphics game from 
the author of our Galactic Commander. A 2 
player game in which each player has to use 
his football skills to try to out run, out dribble 
and finally score against his opponent. A 
serious contender to Match of the Day'. 

LOGO II £995 

This language is now very popular in American 
schools as it is an ideal educational program. It 
can graphically demonstrate the ideas of 
defined procedures, sub-routines, loops and 
even recursive programming. Gives excellent 
intro to LOGO language for your and old alike. 

MUNCHYMAN (16K/32K) £6.95 

Colourful and highly entertaining version of the 
popular arcade garnet Munch your way to high 
score before the Munchers devour you. 

REVERSM16/32K) £7.80 

A sophisticated multi-option game. Play against 
the computer or another player or even watch 
the computer play itself. 5 skill levels allows 
any player to enjoy the game without 
continually winning (or losing). 

ROULETTE (16/32K) £5.95 

All the fun of the Casino in your own home. 
This is a beautifully presented game for up to 6 
players. The odds are calculated according to 
the official rules. 

SNAKE (32K) £7.80 

An arcade type game. Gives hours of fun. One 
of the best games available for this machine. 
Try it for yourself. 



_— — - new 



FILER £8.95 

A powerful file handling program for BBC 
FILER allows the user to build up, manipulate, 
store and retrieve data on the BBC. A very 
powerful package indeed. 



13 ROM SOCKET 
BOARD 

- simply plugs into one of the 

four sockets currently available on 

the BBC Micro to give a full 16 

ROM socket capability (in which 

all ROM's may be resident at 

once). 
The circuit has been designed to 
allow the use of RAM in this area 

too. 

Introductory price for the 

first 250 orders from 
BBC Micro User readers 

ONLY £19.95 + VAT 
APPLICATIONS 

CONSTALLATION (32K) £6.50 

The great Bear! The Southern Cross I The 
Horned Goat I See the night sky gloriously 
depicted in hi-res graphics. Constellation has 
been adapted and enhanced from our 
successful ATOM program. 
DISASSEMBLER (16/32K) £6.95 

Relocatable disassembler program. Lists object 
code and Assembler mnemonics from and to 
any specified addresses. The listing can be 
stopped and restarted. Page mode option and 
output to a printer are available. ASCII symbols 
may be output if required. The Assembler code 
may be stored and modified and the program 
re-assembled. 




WORDWISE Model B 
Without doubt the most sophisticated piece of 
software yet written for the BBC Micro. Wordwise 
contains all the usual word processing features 
enabling characters, words, sentences or any defined 
section of the text to be deleted, moved or copied 
from one part to any other part of the document. The 
more complex facilities such as search and replace or 
file handling commands are menu driven so that even 
a beginner can understand how to operate them. 
Wordwise will work with whatever filing system is 
currently implementated. Supplied with full fitting 
instructions and a spiral bound manual. We believe 
this word processor compares favourably with those 
costing many times as much. 

Special Offer - ONLY £35.00 



EDUCATION 

JUNIOR MATHS PACK <32K) £6.95 

Makes learning fun for 5-11 year olds. This 
package consists of 3 programs (menu driven} 
that increase in difficulty as your child becomes 
competent. A very good supplement to 
standard educational methods. 
WHERE? £6.95 

Do you know WHERE? you are? This well 
written program, using high resolution graphics 
offers timed tests on the geography of Great 
Britain. 

WORLD GEOGRAPHY (32K) £7.00 

Beautifully drawn Hi-Res colour map of the 
world illustrates and aids this graded series of 
tests on capital cities and populations of the 
world. 

PROGRAMMING MADE EASY ONLY £8 

A new concept for schools - A set of 
workcards to introduce programming to 
primary school pupils. An invaluable asset to 
Teachers and Parents alike. The language has 
been carefully chosen to provide a balance 
between 'Computer Terminology" and standard 
language. Bulky and often despised text books 
have been replaced by the set of Workcards. 
Each card can be handled easily at the 
Computer Keyboard. Also included are a 
SUPPORT PROGRAM specially produced to 
reinforce the work covered by the cards and a 
CHECK LIST for children and teachers to 
monitor progress. A must for primary schools 
undertaking computer learning. 

BOOKS 

30 Programs - BBC Micro £4.95 

30 Hour BASIC (BBC Micro) £6.00 

6 502 Application Book £ 1 0.2 5 

6502 Assembly Lang. Programming £12.50 

6502 Assembly Lang. Subroutines £11.80 

6502 Software Design £10.50 

ACORN ATOM Magic Book £5.50 

Advanced 6502 Interfacing £10.95 

ALP for the BBC Micro £8.95 

BASIC Programming on BBC Micro £6.90 

BBC Micro Revealed £7.95 
BBC Micro Instant Machine Code including 

Software Cassette £34.00 

Creative Graphics on BBC Micro £7.50 

Discover FORTH -Osborne £1 1.25 

Easy Prog, for BBC Micro £6.50 

Further Prog, for BBC Micro £6.90 

FORTH Programming (Sams) £12.50 

Getting Acquainted/Acorn ATOM £7.95 

Graphs & Charts on BBC Micro £7.50 

Intro to Micro Beginners Book (3 Ed) £9.90 

Let your BBC teach you to program £6.45 

Micros in the Classroom £4.90 

Practical Prog, for BBC & ATOM £5.95 

Programming the 6502 £ 1 1 .20 

Mastering VISICALC (Sybex) £1 1.95 

Structured Prog, with BBC BASIC £9.50 

The BBC Micro An expert Guide £7.90 



WATFORD ELECTRONICS 

CARDIFF ROAD, WATFORD. 

Tel: (0923) 40588. Telex: 8956095 



May 1933 BBC MICRO USER 



The second article 
in this series looks 
at Mode 7 animation 




MODE 7 

By PAUL LEMAN and 
STEVE SWALLOW 



IN keeping with the general ease of access to useful 
facilities on the BBC Micro, Acorn have made it easy to 
generate useful teletext control codes by the use of the red 
function keys at the top of the keyboard. This facility is 
really only available with OS 1.0 onwards, but those with 
OS 0.1 can easily define these keys to give single Ascii 
codes. 

The *FX calls in OS 1.0 are detailed on pages 439-440 
of the User Guide. There is a small typographic error here, 
as the second call gives A=&E4 (228). It should be 

A=&E2 (226). 

These *FXs allow you to define the 
function keys alone as well as SHIFT + 
function key, CTRL+function key and 
SHIFT +CTRL+ function key. 
With OS 0.1, however, only the func- 
tion key alone can be redefined easily. 
This is briefly mentioned in the User 
Guide, and also appeared in the first 
issue of BBC Micro User (see pages 
67-68). It takes the form: 
*KEY0"|!iA" 

The TO key will now return the Ascii 
value 129, the value being made up of 
two parts. The ]! gives 128 and 
CTRL A gives 1. Having defined 
this, it is not immediately obvious what 
use it is. Ascii 129, however, is the red 
alphanumeric code for use in teletext 
mode. If we set the keys up as follows 
then a single key press will give us the 
colour graphic codes on keys f0 to f6. 



10 DIM KX 64 

20 XZ-KZ: YX*KZ DIV 2S6 

30 FOR 11=0 TO * 

40 $KX="KEY ■♦STR*Ul)*"!!! i +CHR$ 
(It* 81) 

50 CALL *FFF7 

60 NEXT 

70 REN Mo. test the keys. 

80 REM Space bar ends. 

90 REPEAT 
100 AZ=INKEY(0) 
110 IF AZO-1 THEM PRINT AX 
120 UNTIL AZ=32 



Program I 

In MODE 7 the characters are 
hardware generated and so this mode 
has very fast although obviously 
limited animation capabilities. 

The first example is a simple anima- 







Red 


Do 


Yellow 




□ i 






□ 2 






□ 3 






□ 4 








5 
6 

7 

8 




c 


freen 





Figure I 



18 BBC MICRO USER May 1983 





~H 






rn 


M 




1 












J 


























=H 


1 












4H 






































































































































































































































~ r " r l 
M 

■ .1 

■ ■ 1 


■ -■. 






































■ ■ 


















l 


























■ ■ 

■ ■ 


■ ■ 
























































■ . 


■ ■ 




■ ■ -t ■ ■ ■ 
















l 






















_ . . ■■ 


j^. 


;■: 




















- 


- 










- ■.■ 


:■-; 


■ ■ ■ 






























V'l 


^ 


:-: 


































'|(iv.< 


■ ■ ■. 




■ L 


























■ 1l l 
















: 


















_ L l 


L. ^ 


■. L 






























■ ■■ ■ 

H 

■ ■ ■. 




■ J -. 
.■ ■ ■. 


. . .■ 


. . . 


.' ' 


:::):: 




























H4H 

" ' 'l 

■-: : 




n n".^ 


















: 
















.■ ' 


























V x". 


h 


"1 1:: 


. L ' 
















u 












. L L 

'. J . 


.■ ■ ■ 


: ^rw 

■ ■ "1 ■ 


T? 


Q 




-r¥':: 
















1 








L f ' 


w 


I 


■ : . 




■■■.»■■. 


■' ' 




' : ■ 
■ ■ ■ - 




J 







Frame I 



tion displaying a bouncing ball. To do 
this we display the ball at the positions 
shown in Figure I. The positions can be 
held in a look-up table stored in an in- 
teger array, and animation achieved by 
displaying all but one ball in the back- 
ground colour while cycling through 
the array. See Program II. 

This animation could in fact be done 
by simply printing and deleting the ball 
character at the required positions, but 
more complex repetitive animation 
effects can be achieved by this very 
simple method. 

The next example is in fact easier to 
write in one of the normal graphics 
modes using a redefined character set, 
but is included here to show another 
method of animation. 

Three frames are constructed using 
graphics characters to represent a 
jumping kangaroo. The most difficult 
part is actually constructing each 
frame, and I used a small program that 
converts redefined characters to 
teletext graphics characters in order to 
make this easier. 

The trick, if there is one, of this type 
of animation is to let each new frame 
overwrite the preceding frame. The 
three frames are shown above on grids. 
The spaces to the left of the figures are 
there to delete parts of the preceding 
picture. 

Program HI forms the individual 
pictures from a set of data statements 
and then displays the animation. The 
program prompts for a delay time in 
centiseconds between frames, and 
finally asks if a repeat is required. 



































































! 






























! 










































































* ■ ■ 






_ 


























■-.+ ■■-■ 


L L 






































J L | 


Lu« 


■ 




^H 
















































i .■ 

!■■ ■ 


-■ : 


. ." 


































- 


- ■ J 


; 




















^jjT^ 




























■ 3x 

■ i" 


' (■ ■ 


V ^1 
































. ■ -■ .. . 


J L I _ L 


■ ■ 1 




































]l L ' 


ttfeft 


































L _ _ ' 


« 


X... 






















i 












Tf 


-.-. ■ 


/.'.♦j'^ * 


■- 


' ■ 
■ ■ ■ 




























. . - j '- ■ ■ 


L L~L J 


■ ■ ' 

■ ■.- 


L L L 


































*rr" 


fff 




























- ■ 








L L 


. . 1 ■ ■. 


N 




























L '■' 


<"'"" 


























i 


ap& 


L L 
. .. 


. . . 








■ 'l _ 




1 


















:.:: 


■ — 


: ■ 
■■ ■ 








— 








:■: 


■■ ■ 


L L L 

::: 


L L 














L 








■ 


j_ 


















r 








| 























Frame II 



47 



10 MODE 7:VDU23|8202;0;0;0{ 
20 DIN AZ(8) 
30 REN 

40 REM Read in look-up tabic. 
50 REN Then read in del ay (untitles) 
60 REN 

70 FOR IX*0 TO B: READ AX(IZ>:NEXT 
80 INPUT'DELAYfcentisecs) ",NT:CL8 
90 REN 

100 REN Top 19 lines to yellow 
110 REN background, yellow foreground 
120 REN 

130 FOR IX*0 TO 19 
140PRINTTAB<0,IX)CHR*147CHR*157CHR*1 

L 

150 NEXT 

160 REN 

170 REN Bottoo 3 lines green 

180 REN 

190 FOR II«20 TO 2 

200 PRINTTAB(0,II)CHRtl30CHRI157 

210 NEXT 

220 REN 

230 REN Print 'ball', char 255 on 

240 REN lines to 19 

250 REN 

260 FOR IX-0 TO 19 

270 PRINTTAB(20,IX)CHR$255 

280 NEXT 

290 REN 

















r 


n 
















































L L T ■ ■ L 
























































. . . 

■ ■ ■ 

■ ■ ■ 


■ ■■ 

■ L 

■ j 

L L ' 


■■ J 


fVj 


























L L 

. . . 


■ L 


























' L 




































" ' # *.v 


■■ ■ 


■ ■ 


:-. 
























■ ■ 
























.■ ■■ ■ 


■ T '~t T T 
[ )■■ ■ 






























■-I 


■-: : 


' i 


1 ' ' 
1 ■ 


ffrl 
































L ' ■■ 


1 

' 'l 


■■ ■- 

L L 


' ' L 




















. 












^TTf 
































I 


"T** 


^^ 


























L L 


L L 

■ ■ 


■ ■ ■ 

■■ ■ 




'. i' 






























-:-. 




























. j . 


-' 


■■ ■ 

'. . . 

' ' ' , 


■rSS 

J l' ' 
■ ■■ ' 


■ ■ ■. 
.■ ■ ■. 


;■;. i^i^. 


1 




















L 






r - — 1 




















■ ■ 






. L L 


..' \ 
























'■<. 


:::};: 














■ L 
■ ■ 

L L 

. . . 


■ ■ ■. 

Si 












l-l 
































% i i 
























: 




























^ 


~ 
















! 








































1. 

















Frame III 



300 REN Nov anieate by eoving back It 

310 REN forth through look-up table, 

320 REN changing graphic foreground 

330 REN colour froe yellow to red at 

340 REN appropriate lines. 

350 REN 

360 PRINTTAB(2,AZ(0) )CHR«145:LZ«AX(0) 

370 REPEAT 

380 FOR 11*0 TO 8 

390 PROCdelay 

400 PRINTTAB(2,LX)CHRtl47 

410 LX'AXUX) 

420 PRINTTAB(2,LX)CHR$tl45) 

430 NEXT 

440 FOR IX' 8 TO 1 STEP -1 

450 PROCdelay 

460 PRINTTAB(2,LX)CHRI147 

470 LX'AX(IX) 

480 PRINTTAB(2,LX)CHRtl45 

490 NEXT 

500 REN 

510 REN Repeat forever... 

520 REN 

530 UNTIL FALSE 

540 DATA 1,2,3,4,6,8,10,14,19 

550 DEFPROUelay 

560 nowTIHE 

570 REPEAT 

580 UNTIL TINE- no«>HT 

590 ENDPR0C 



Program II 



Turn to Page 84 



May 1983 BBC MICRO USER 19 




WE saw last month how it was possible to use the BBC 
Micro to measure temperature and light intensities using 
two relatively simple circuits that you could build for 
yourself. In this article I will describe how you can use 
apparatus that you may have already in your 
laboratory. 

The basic idea is to use the 1 volt 
chart recorder output that is present on 
most modern equipment such as pH 
meters, colorimeters and conductivity 
meters. On equipment which does not 
possess this type of output the proce- 
dure is a little more difficult and re- 
quires extra gadgetry, as I will describe 
in next month's article. 

As you will remember, the BBC 
Micro has four channels available for 
A/D conversion, each of which can 
accept a DC voltage of up to 1.8 volts. 

By using the ADVAL command in 
Basic these voltages are converted into 
numbers between and 65520 in steps 
of 16. 




10 REH tpH CUI ^^^^^^^^ 

20 REN »H. SHAH* 

30 H0DE7 

40 PRINT: PRINT 

50PRINTCHR$(141)5CHR$131jCHRI157{CHR 
*132;SPC(8); a pH CURVE" 

60 PRINTCHR*(141);CHR*131}CHR»157;CHR 
*i32;SPC(8)j B pH CURVE" 

70 PRINT TA6(l)CHR»131;CHR$i57;CHRI13 
25STRIN6$(34,"I") 

80 PRINT:PRINT"This prograi will prod 
uce a pH curve as" 

90 PRINT'an acid /alkali titration ic 
carried out" 

100 PRINTTAB(5,20);CHR*131;"PRESS SPAC 

E-BAR" 
110 IF SET=32 THEN 120 ELSE 110 
120 VDU7: DIN RDINGS(IOO) ,pH< 100) ,V0LU 

HE (100) 

130 REHatALLOMS UP TO 100 READIN6SH 
140 CLS:PRINT:PRINT:PRINT"PLACE ELECTR 

ODE IN FLASK AN0 SET pH*iPRINT*HETER FOR 
BUFFER" 



150 PRINT:PRINT:PRINT"PRESS SPACE-BAR 
HHEN SET" 

160 IF 6ET=32 THEN 170 ELSE 160 

170 VDU7:RDIN61=ADVAL(2) 

180 PRINT:PRINT:PRINT"NHAT IS THE pH 
F THE BUFFER ?" 

190 INPUT pHl:VDU7 tlF pHK5THEN SCALE 
=200 aSE SCALE =500 

200 PRINTtPRINTsPRINT'HON MUCH ACID AT 
A TINE (IN CN3I?" 

210 INPUT ALIQUOT :VDU7 

220 PRINT:PRINT:PRINT'H0N MUCH ACID IN 
TOTAL (IN CN3)?" 

230 INPUT TALACID tVDU7 

240 NUNBER= (TALACID) DIV ALIQUOT 

250 IF NUHBEROTALACID/ALI0U0T THEN NU 
HBER=NUHBER*1 

260 CLS:PRINT:PR1NT:PRINT"PLACE ELECTR 

ODE IN ALKALI ' 
270 PRINT:PRINT"PRESS SPACE-BAR NHEN R 

EADY" 
280 IF 6ET =32 THEN 290 ELSE 280 



By 

MIKE SHAW 



When an instrument such as a pH 
meter is used it produces a voltage 
change at the chart recorder output 
which is proportional to the meter read- 
ing. 

Although the maximum output is 
only about 1 volt, it still will produce a 
range of numbers between about 0- 
4000 when connected to the A/D con- 



verter. This range is sufficient to in- 
corporate into various programs. 

The positive terminal (red) of the 
chart recorder output should be con- 
nected to one of the channel pins, that 
is, 4, 7, 12 or 15 and the negative ter- 
minal (black) to one of the analogue 
ground pins, 5 or 8 using the screened 
cable and 15 way D plug. 

290 VDU7: RDINBS(0)=ADVAL(2> 
300 N0DE1:PR0CDISPLAY:PR0CCHART 

310 END 

320 DEF PR0CDISPLAY 

330 VDU 28,0,31,39,28 sBCOL 0,2 

340 HOVE 1280, 150: DRAN 0,150: DRAM 0,: 

I 

350 V=0 

360 F0RAX* TO 1200/NUHBER 

370 HOVE V.150 

380 DRAN V.165 

390 V«V+1200/NUHBER 

400 NEXTAX 

410 HOVE 0,RDlN6S(0)/RDINGlfSCALE 

420 VOLUME (1)=0 :AH0UHT-0 

425 V*1200/NUHBER 

430 F0RX*1 TO NUMBER 

440 as 

450 PRINT'ADD ACID FR0N BURETTE IN "|l 
LIQU0T;" c«3 LOTS" 

460 PRINT'PRESS SPACE-BAR AFTER EACH L 
0T" 



Program I 






20 BBC MICRO USER May 1983 



In Program I the computer is used to 
take in readings from a pH meter. The 
chart recorder outputs from the pH 
meter should be attached to pins 7 
(CHI) and either 5 or 8 (analogue 
ground) as the program uses 
ADVAL(2) to accept data. 

The initial value of ADVAL(2) is 
placed into the variable RDING1 (line 
170) when the pH meter is calibrated 
using a buffer solution. The pH of the 
buffer solution is passed to the variable 
pHl (line 190). As the pH meter is used 
during a titration a graph is plotted to 
produce a pH curve and then values of 
pH can be observed in tabular form. 

The data being accessed by the 
ADVAL(2) command is passed into 
the array RDINGS(X) and the pH 
values are calculated using the equation 
(line 640) 

pH(X) = RDINGS(X) *pHl 

RDING1 

Program II shows how the computer 
can be used to study the reaction 
between hydrochloric acid and sodium 
thiosulphate solution as it takes place 
within the cell of a colorimeter. 

In this reaction a precipitate of sul- 
phur is produced which causes the 
solution to become cloudy. The in- 
crease in cloudiness causes a 
corresponding drop in the light 
transmitted through the cell hence a 
drop in the voltage produced at the 
chart recorder output of the colori- 
meter. 

The actual end point of the reaction 
is difficult to detect with the naked eye, 
but by taking an arbitrary value of 
transmitted light - for example 80 per 



470 IF GET*32 THEM 480 ELSE 470 

480 RDINSS(X)=ADVAL(2) 

490 S0UND1, -15,200,2 

500 DRAW V,RDINGS(X)/RDIN61*SCALE 

510 V=V+1200/NUMBER 

520 AMQUNT=AHDUNT+ALIQUQT 

530 VOLUME (X)=AM0UNT 

540 MEXTX 

550 CLS 

560 ENDPR0C 

570 DEF PR0CCHART 

580 PRINT-PRESS SPACE-BAR- 

590 IF GET *32 THEM 600 ELSE 590 

600 VDU26 :CLS 

610 «=M002020A 
620 PRINT:PRINT:PRINT 
630 FOR X=0 TO NUHBER 
640 pH(X)=RDINGSm/RDINGUpHl 
650 PRIMT'VOLUME B |V0LUME(X)j B ce3YP 
H'jpH(X) 
660 NEXTX 
670 ENDPR0C 



cent transmission — as an end point, it 
is possible to produce a timing. 

The program uses not only* the 
ADVAL function to detect the end 
point but also the TIME facility to 
produce a relatively accurate timing of 
the reaction. 

As the program uses ADVAL (2), 
the colorimeter should be connected to 
pins 7 (+ve) and 5 or 8 (— ve). The timer 
is started after the chemicals have been 
mixed and the space bar pressed. 

The test tube containing the reagents 
is then placed in the colorimeter and 
the meter adjusted to give 100 per cent 
transmission. When the transmitted 
light intensity falls to 80 per cent it is 
detected using the ADVAL(2) com- 
mand and the timer is stopped. 

The experiment can then be 
repeated, but using more dilute solu- 
tions of sodium thiosulphate. The com- 
puter then produces a table showing 
the concentration of thiosulphate and 
the time taken for the reaction. 

The option is then given to plot two 
graphs, one of concentration of thio- 
sulphate against time and the other of 
concentration against the reciprocal of 
the time taken for the reactions. 

Line graphs are not produced, but 
the individual points are shown 
corresponding to each reaction so that 
anomalies, or points of interest, can be 
clearly spotted and discussed. 

By changing the program it should 
be possible to use the same system with 
more advanced students so that con- 
cepts such as rate of reaction and order 
can be investigated. 

Other sources of inputs which can be 
monitored using the computer are 
provided by modules of the Philip 
Harris Data memory system and of the 
environmental comparator kits 
produced by companies such as WPA 
and Unilab. 

These modules provide access to the 
measurement of, among other things, 
light, temperature, pH, sound level, 
oxygen level and conductivity. 

As with the pH meter and colori- 
meter, the chart recorder output is used 
to pass data to the computer from the 
sensing device. One of the most in- 
teresting devices that can be used is the 
electronic arm produced by Philip 
Harris as part of the data memory 
system. 

This device converts rotational 
movement and hence vertical move- 
ment into an electrical voltage output 
proportional to that movement It can 
be used for physics investigations such 
as the stretching of a spring for 
physiological experiments in conjunc- 
tion with items such as a spirometer. 

Program III is a short one which 
shows how the electronic arm can be 



used to investigate the stretching of a 
spring. The computer uses the data 
from the arm to produce a graphical 
representation of the oscillations of the 
spring. 

As relatively quick readings are re- 
quired *FX16,1 is used so that only 
channel one (CHO) is operating. 

The output from the arm should be 
connected to pins 15 and either 5 or 8. 
MODE is used to allow high resolu- 
tion graphics to be implemented. 

It is worthwhile remembering that 
there are four separate channels for 
A/D conversion and so it is possible to 
monitor a number of variables as re- 
quired in some biology experiments, for 
example investigating the conditions re- 
quired for plant growth. 

Here the electronic arm would be 
used to measure the growth of a plant 
and light, and temperature probes out- 
lined in last month's article could be 
used to monitor conditions. 

There are lots of other uses of these 
devices. If you have any ideas but are 
not sure what to try, drop me a line. 




1 *FX15, 

2 ON ERROR 60T0 214 

10 DIM thio(10),NaterU0>,fini5h(10> 

20 H0DE7 

30 §X=*0002020A 

40 PR0CTITLE 

50 Mter=0 

60 vaiuae=t0 

70 CLS 

80 PRINT TAB(0,3);CKR*13t;CHR*157;CHR 

«132;'HQM MANY SERIES OF REACTIONS?" 
90 INPUTseriM 
100 FGRS= 1 TO series 

110 thio(S)=voluM 

120 water <S)=«ater 

130 PROCINSTRUCT 

140 voluee=valuee-2 

150 Nater=water+2 

160 IF valuie<0 THEN voluie=0 

170 IF MterMO THEN iuter=l0 

180 MEXTS 

190 PR0CRESULTS 

200 M0DE1 

210 PR0C0PTI0N 

214 IF ERR=17 THEN 215 ELSE REPORT 

215 CLS: VDU 19,2,7,0,0,0 
220 END 

230 DEF PROCINSTRUCT 

240 CLS 

250 PRINT:PRINT:PRINT 

260 PRINT-Ctrefully leisure out lit. o 

i 4H Hydro -"$ 



Program II 



Turn to Page 87 



May 1983 BBC MICRO USER 21 




MICRO 
FROM 




TEAC DISC DRIVES 



TEAC 55F 5i" D/S 80 Track 

Formatted Single Density 400K. ONLY £229.00 

CASE to hold 2 drives with power supply ONLY £29-95 

• Ideal for use with BBC Micro 

• Low power consumption 

• Slimline - latest technology • Full warranty. 

• Cables available to connect Drives to 
BBC - Ring for details. 



CANON DISC DRIVES 



MDD 6106 

5i" S/S 40 Track formatted single density 100k ONLY 
Case to hold one Drive £9.95 £129.00 

• Ideal for use with BBC Micro 

• Full warranty • Slim design 

• Cables available to connect Drive to 
BBC - Ring for details. 



A DAISY WHEEL PRINTER 

ONLY £499 



TEC STARWRITER FP 1500-25 

25 CPS - Friction Feed - Serial Interface 

Interface Lead to connect to your BBC £9.00 



GAMES 



We are authorised dealers for A&F Software and can 
offer the following top quality cassettes for the BBC 
Model B. 



LUNAR LANDING 


£6.00 


• PHARAOH'S TOMB 


£6.95 


PLANES 


£6.95 


• NEW •PAINTER 


£6.95 


FROGGER 


£6.95 


• TOWER OF ALTOS 


£6.00 



FLOPPY DISCS 



Mini Discs in FREE Plastic Library Case 



S/S 40 Track 
D/S 40 Track 
S/S 80 Track 
D/S 80 Track 



ATHANA NASHUA 
£19.95 £16,95 



£24.94 
£26.95 
£29.95 



£22.95 
£25.95 
£26.95 



Prices per 10 discs. 



How to order:- Add carriage at the following rates - 
Discs 85p, Games & Magic Board, Free. Monitor 
£10.00. Other goods £7.00. Add VAT at 15% to the 
total. 



Govt, Educational & Official orders welcome. 



22 INCH RGB COLOUR 
MONITOR ONLY £99.95 



We have available a limited quantity of VMC 22 Colour 
Monitors with free isolating transformers. The Monitor 
has a 22" Mullard 110°C CRT and for shipping purposes 
the CRT and scan coil assembly are separate from the 
chassis. The lugs of the CRT allow it to be mounted in a 
standard 22" colour TV cabinet or a unit of your own 
design. The unit is assembled by plugging the wires from 
the chassis to the tube and soldering the power 
connector, input connector and isolating transformers. 
A comprehensive instruction sheet and circuit diagrams 
are included. 

RGB Lead to connect the monitor to your 

BBC - ONLY £4.50 



THE "ORGANIZER" DESK 



ONLY 
£49.50 

• Teak finish 

• On castors 

• Self assembly 

• Full instructions 
provided 

• Top shelf for 
monitor/printer 

• Large desk top area 

• Lower shelf for paper/book storage - ample room in 
front of the shelf for you to sit comfortably. 



THE MAGIC BOARD 



A Memory Board for your BBC! 

Gives up to 64K of Eprom storage/1 6K of additional 
RAM. Takes the following: 

271 6/2732/2764/61 1 6/551 6. 

Plugs into an Eprom socket and fits inside your BBC! 
Easy to use - supplied with full software instructions. 
ONLY £29.95 




And send your order to:- 

DPUS SUPPLIES 

10 Beckenham Grove, 
Shortlands, Kent BR2 0JO. 
Tel: 01-464 5040 or 01-464 1598 








22 BBC MICRO USER May 1983 



By JIM NOTMAN 



MODE 7 uses only Ik of memory to 
store screen information. To display a 
character on a screen the machine 
looks at each memory location in turn 
and passes its value to a character 
generator (5050 teletext chip) which 
translates this into the pattern required 
on the screen. 

All the other modes are different In- 
stead of being a value which represents 
the whole character, each byte 
represents only a small part of a 
character. It is for this reason that the 
BBC gobbles up memory at an alarm- 
ing rate. 

This system, however, allows us to 
define our own characters using the 
VDU23 command. The operating 
system already reserves a section of 
memory from &C00 to &CFF so that 
character numbers 224 to 255 may be 
defined. Each VDU 23 command is 



followed by the character number and 
EIGHT bytes of data. 

For instance, if we want to define the 
Greek character alpha first draw the 
character you want on a 8 x 8 grid (see 
Figure I). On the grid, marked along 
the top, is a bit value if that bit was 
switched on. The first byte corresponds 
to the first row, in this case 0. On the 
second row the bits with values 32, 16 
and 1 are to be "switched on". These 
values added together make 49, the 
byte value for the second byte. 

This must be done for each of the 
bytes in turn, so that to assign the 
alpha character to character number 
240 we would use the statement VDU 
23, 240, 0, 49, 74, 132, 132, 74, 49, 0. 

That's how we can define a 
character, but what happens when the 




\6e 

B 




\A 



/ 
i 



BIT VALUE 

128 64 32 16 8 4 



* 























• 


• 








• 


• 


• 






• 


• 


• 




1 










• 










• 








• 






• 




• 








• 


• 


^^— 






• 















9 

49 
74 
132 
132 

74 

49 




BYTE 

VALUES 



Figure I 



May 1983 BBC MICRO USER 23 



128 64 32 16 8 4 2 















• 


4 


> 


• 


• 








1 







128 64 32 16 8 4 2 



Figure II 



From Page 23 

machine wants to print out standard 
text characters? If there is no character 
generator for Modes to 6, how does 
the micro know what to print out? 

The answer is that there is a bit map 
at the start of the operating system 
ROM from addresses &C000 to 
&C2FF. Each of the Ascii character 
from &20 (space) to &7F in groups of 
eight bytes. This means that when the 
BBC Micro wants to print out a 
character it will look up the bit map for 
that character before transferring it to 
the screen. The advantage of having 
such an accessible table is that it can be 
manipulated. 

This is what PROCcharjn does in 



S 
10 

20 
30 
40 
50 
60 
70 

eo 

90 
100 
0,3) 

no 

120 

130 

140 

150 
160 

170 

180 

190 

200 

210 




126 

254 
144 
144 

254 
126 










• 


• i 














































• 


• < 














































i 
























60 

102 

102 

126 

102 
102 
102 



REN Jia Notaan March 1983 
NODES 

VDU12.5 

VDU19,0,4;0;0; 

PROCbox 

FOR 1=0 TO RAD < 540) STEP .02 

PL0T69,Iil00,SIN(I)t200 

NEXT 

VDU26 

6C0L0.2 

PR0Cchar_a( 'CHARACTER DEN0" , 180,96 

PR0Cchar_a('Y-axis', 0,450,1) 
PR0Cchar_af-lV00,300 f t) 
PROCchar.aCO", 100,512,1) 
PR0Cchar_a CI', 100,724,1) 

PR0Cchar_«C)l=SINE(X)",1200,640,2) 

H0vE160,100iPRINT'0' 

H0VE400, 100: PRINT* 180' 

M0VE700,100:PRINT"340" 

NOVE1000,100:PRIMT"540" 

H0VE150,32:PRIMT"X-axis (degrees)' 
VDU4 



the accompanying programme. It is 
called with four parameters: 

• The string to be printed out. 

• The x-co-ordinate of its start point. 

• The Y-co-ordinate of its start point. 

• A number which selects a routine - 
1 Rotate left; 2 rotate right; 3 reverse 
video. 

The first part of the program plots a 
sine wave graph to annotate the main 
routine starting at line 350. This 
routine in turn will call a procedure for 
each type of character manipulation. 
Line: 

360-Defined character memory loca- 
tion. 

380-Sets up a loop to look at each 

character in the print out string. 



400-Finds the memory location of the 
bit map corresponding to the character. 
410-Resets the defined character 
memory locations. 

420-Selects which type of manipula- 
tion is required. 

As can be seen from Figure II, 
illustrating left rotation for the letter 
'A', it is not as easy as it first looks. 

If you look at the first row before 
rotation you can see that the bit value 4 
when rotated left now is in the third 
byte and has a bit value of 128! The 
procedures PROCleft and PROCright 
sort this problem out. 

As it is all in Basic, it's not 
instantaneous, but quite acceptable for 
annotating graphs. 



220 END 
230 DEFPROCbox 
240 N0VE 140,896 
250 DR AH 160, 128 
260 DRAH1120.128 
270 DRAH1120.896 
280 DRAH160,896 

290 VDU29,170;512; 

300 GC0L0.1 

310 NOVEO.O 

320 DRAW 50,0 

330 MOVEO.O 

340 ENDPR0C 

350 DEFPROCchar a(At,X,Y,H) 

360 SZ=tC00 

370 HOVE X,Y 

380 F0RZX=1TQ LEN(At) 

390 C**HID*(A*,ZZ,1> 
400 8%=iCOO0+(ASC(C$)-32)>8 
410 VX=0:vDU23,224,0}0;0s0; 
420 ON H 60T0430,440,450 
430 PROCleft (M):60T0460 
440 PROCright <C$):60T0460 



450 PR0Crevarse(Ct):60T0460 
460 NEXT 

470 ENDPR0C 

480 DEFPROClaft(Ct) 

490 F0RIZ=0T07:F0RJZ»0T07 

500 VZ=BZ?IZ AND 2MZ 

510 IF VZ>0 THEN VZ=1 

520 SZ?JZ=SZ?JZ OR VZ»2 A (7-IZ) 

530 NEXT, 

540 vDU224,ll,8 

550 ENDPR0C 

560 DEFPROCright(M) 

570 F0RIZ=0T07:F0RJZ=0T07 

580 VZ=BZ?IZ AN0 2MZ 
590 IF VZ>0 THEN VZ=1 

600 SZ?(7-JZ)=SZ?(7-JZ) OR VZ«2 A IZ 
610 NEXT, 

620 VDU224.10.8 
630 ENDPR0C 

640 DEFPROCreverse(Ct) 

650 F0RIZ=0T07:SZ?IZ=BZ?IZ E0R IFF:NEXT 

660 VDU224 
670 ENDPR0C 



24 BBC MICRO USER May 1983 



*& 



Beeb-calc 

A ROM based spread sheet program, like Wordwise this 
firmware is very fast and simple to use — yet is a 
powerful spread sheet analysis program, considerably 
better than the original 'calc* program — full floating 
point maths. Works in 80 or 40 column screen modes, 
variable column widths. Works with either cassette or 

disk 

This ROM coupled with Wordwise can turn your micro 

into an ideal small business machine. 
£34.00 + VAT 

Debugging Program 

2 machine code programs — one in ROM, one on tape. Essential for the machine code 
programmer. An ideal compliment to the assembler built into the BBC machine. Contains a full 
machine code monitor allowing examination and alteration of memory, registers, setting of 
break points and even single stepping through machine code programs 
|ROMbased£19.00 + VAT 

cassette C10.00 + VAT Disk DOCtOT 

A ROM containing useful disk utility programs Enables the recovery of any data off the disk 
including deleted files etc The full disk editor allows the alteration of any bytes directly on the 
disk (or in memory), or the loading and saving of any track or sector on the disk. Automatic 
transfer of programs from tape to disk and visa versa 

Includes a whole host of other useful utilities— string search, function key editing, the ability to 
format 35, 40 & 80 track disks 

£ 1 9 oo + vat printer tool kit RON 

This includes routines for high resolution screen dumps for both the EPSON and NEC printers 
Will work in any graphics mode with automatic grey shading of all screen colours The most 
useful feature of this program is its 'spooling 1 capability, this enables data such as a program 
listings or high res screen dumps to be automatically spooled from your disk to the printer while 
using your BBC machine for running other programs 
£1 9.00 + VAT Quantity discounts, starting at f ive off. 



»,»/? 



Wordwise 



THE WORD PROCESSOR FOR THE BBC MICRO 



'>! 



/ 



I * **- 



The word processor for the BBC machine. 

This ROM based word processor has received superb 

reviews 

A powerful and flexible system — its greatest strength being 

that it is fast simple and very easy to use. No other existing 

word processor (even ROM based, costing twice as much) 

can compare with the flexibility of this system. 

Supplied with full spiral bound manual and cassette 

containing an example document and free typing tutor 

program. 

£39.00 + £1.50 p&p + VAT 
Now available from stock Quantity discounts, starting at five off. 

all ROM based software requires 
new series 1 Operating Systems We 
are now in the position to supply 
1.2 ROM'S for £5,00 + VAT when 



^mputen 



you buy any of the above software 






Buy H with tam 



BMU4 
_ IBsXA^ysidejChipperfield, 

Herts,WD4 9 J J- telCO^TTJ 




May 1983 BBC MICRO USER 25 



Ill 

o 

III 



MYSTERIOUS 

ADVENTURES 



in 

o 

hi 



FOR BBC MICROCOMPUTER MODELS A & B 



Join the growing band 
of Adventurers who 
are enjoying these 
absorbing and stimu- 
lating programs. Step 
into another world of 
Fantasy, Magic, Mys- 
tery and Sorcery. Only 
your wits and cunning 
can ensure success in 
these scenarios! - 




WRITTEN IN 
ULTRA-FAST 
MACHINE CODE 



SAVE GAME 
FEATURE. 



SPLIT SCREEN 
DISPLAY. 



1. THE GOLDEN BATON — Venture into a strange province ot 
Sorcery and Evil Magic to recover the Golden Baton, a 

priceless artifact whose powers are said to bring great Health 
and Prosperity to the Land. 

2. THE TIME MACHINE — As a Newspaper reporter you are 
sent to Investigate the eccentric professor who lives in the old 
house on the Moors. What is his secret and why is his house 
now deserted? 

3. ARROW OF DEATH (Pt. 1) — A blight has fallen on your 
homelands, the Baton has become tarnished and now radi- 
ates a malevolent aura of Evil. Your mission is clear — trace 
the source of this Evil and destroy. . . or be destroyed. This is 
the first part of an Epic Adventure although each part can be 
played as a stand alone scenario. 

4. ARROW OF DEATH (Pt. 2) — You now have the means to 
destroy your enemy. . . but you are far from home and this 
land is strange to you. Can you cope with the deadly perils 
which approach you and have you the strength to see your 
mission through to the final conflict? 

5. ESCAPE FROM PULSAR 7 — Alone on a gigantic Space- 
Freighter. . . The rest of your crew have died horribly at the 
hands of a mutated Zoo-Specimen. Your only chance of 
escape is to reach the Frail Shuttlecraft. But the lurking 
Monster is hungry and you are the only food it has left. . . 

'Adventures 5-10 inc. 



6. CIRCUS — Your Car has run out of Petrol on a lonely road 
miies from nabitation. As you truage reiunctandy down the 
road in search of help you are suddenly confronted by an 
amazing sight ... in a nearby field is a Huge Circus tent! But 
this is no ordinary Circus as you will soon discover. . 

7. FEASIBILITY EXPERIMENT — Far across the gulfs of time 
and space, a dying race of super-intelligent beings search the 
Universe for a Hero to save their existence. . . At length their 
thoughts turn to planet Earth. You are chosen to be their 
saviour in a bizarre scenario where death is a mere thought 
away. . . 

FTTHE WIZARD OF AKYRZ — You are in the Royal Palace. 
B. The King beseeches you to rescue his daughter from the evil 
wizard. If you succeed your reward will be priceless. . . failure 

will bring certain death. 

■S^PERSEUS.AND ANDROMEDA - Travel into the realms of 
B^g. ancient mythology. Battle with grotesque monsters and super- 
natural powers as you search for the hidden secrets of myth 

and legend. 

R^TEN LITTLE INDIANS — This mystery begins with a train 

prio. journey into a strange country. What secrets are held by the 

strange country mansion? What meaning is attached to the 

strange idols? Maybe you will find out if you live long 

enough . . . 

require 32K RAM 



Each adventure comes attractively packaged for just £10.29 inc. 
Available soon for ZX SPECTRUM, ZX81 (16K), APPLE II. 




hi 

o 

III 



SEND CHEQUE OR P.O. TO: 

DIGITAL 
FANTASIA 

24 NORBRECK ROAD, NORBRECK, BLACKPOOL, LANCASHIRE 
Tel: (0253) 591402 



26 BBC MICRO USER May 1983 






I 



•. 



». 










/6I0BD 



'"V 










[-■■■] 



if 4? 



^v-j* 









,-DU 
DD61 







A^ 




^ 



■ 



111 



M 



ffi&afe 



LOW-COST COLOUR MONITORS 



Advanced design and manufacturing techniques 
put the new colour monitor from DIGMSION at 

the top of its class. Produced specifically t<> 
compliment the latest generation of micros. In 
the office, in the home, in the design studio, al 
college, wherever a micro is al work this new 



gives exceptional display clarity and high quality 
colour resolution presented inatwo tone case .it 
optimum cost. At a price of £300 il must beTI IE 
monitor (or anybody requiring high quality 
colour communication in its simplest, most 

ffective form. 



monitor will work happily with it. A 14" screen | 

DIGMSION with your micro will prove to be a more exciting and rewarding investment 

Cash with order (cheques will not he presented until despatch of goods) or send lor furthel details 

Dealer enquiries welcome 



I 



DIGMSION LTD PARKER DRIVE 

LEICESTER LE4 OJP TEL: 351224 TELEX 341382 










LAST month we saw how to draw 
coloured lines on the graphics screen 
and use them to outline various shapes. 
Now we shall see how to fill those 
shapes with colour so as to really bring 
the screen to life. 

Firstly, let's recap. We learned these 
new commands: 

GCOLO, which sets the graphics 
colours. 

MOVE, which moves the 
(imaginary) graphics cursor to the 
point specified. 

DRAW which draws a line, in the 
current foreground colour, from 
the last point visited by the gra- 
phics cursor to the point specified. 

Program I illustrates the use of these 
commands to draw a red triangle 
similar to that of Figure I. 

We can cause the triangle to be filled 
in with colour by using a new state- 
ment, PLOT 85. Before we go into it in 
detail, I suggest that you run Program 
II to get a feel of what happens - it 
draws the same triangle as Program I, 
this time completely filled with red, the 
graphics foreground colour. 

When you think about it, you can 
specify a triangle on the screen by 
giving the co-ordinates of its three 
corners. Now PLOT 85 is the BBC 
Micro's triangle-filling command. 
When the machine receives this com- 
mand it needs to know those three sets 
of co-ordinates. 

You always follow PLOT 85 with 
the co-ordinates of one of the points. 

For example, in Program II, line 70 
uses PLOT 85,640,1020, since the co- 
ordinates of the top of the triangle are 
(640,1020). But how does the BBC 
Micro know where to get the other two 
points to complete the triangle? 

Well, it takes it for granted that the 
other two points are the last two points 
the graphics cursor has visited before it 
meets the PLOT 85 statement. 

So when you are programming you 
have to keep track of the last two posi- 



Figure I 



(640,1020) 





Third 
line 



Second 
line 



10 REM *** PROGRAM ONE *« 

20 MODE 5 

30 GCOLO, 1 

40 GCOLO, 130:CLG 

50 MOVE 10,10 

60 DRAW 1270,10 

70 DRAW 640,1020 

80 DRAW 10,10 



Program I 



(10,10) 



First line 



10 REM *** PR06RAM TWO ##• 

20 MODE 5 

30 6C0L0,1 

40 GCOLO, 130:CLG 

50 MOVE 10,10 

60 MOVE 1270,10 

70 PLOT 85,640,1020 



Program II 

tions the graphics cursor has visited - 
remembering that both MOVE and 
DRAW affect this. 

If the last two points are unsuitable 
for the triangle you want to draw you 
have to fix this by using MOVE to visit 
the appropriate points. 

In Program II lines 50 and 60 use 
MOVE to visit the first two points of 
the triangle. Line 70 then uses PLOT 
85 to specify the last point and fill in 
the triangle defined with the current 
foreground colour. Figure II should 
make this clear. 

This ability to fill triangles is the key 
to the whole business of graphics. 

All the other shapes you see in BBC 
Micro programs are constructed from 
triangles - even the circles! 

It is worth spending some time now 
playing with variations of Program II. 
It's easy to read and understand what 
we've been doing so far - but it is 
another thing to put the ideas to use. 

So please, before you continue, have 
a go at writing programs, based on 
Program II, to draw your own triangles 



Figure II 



(640,1020) 

Final point 

visited 

(line 70) 




(1270,0) (10,10) 

First point visited 
(line 50) 



(1270,10) 

Second point visited 
(line 60) 



28 BBC MICRO USER May 1983 



10 REM *tt PROGRAM THREE Hi 

20 MODE 5 

30 VDU 19,3,4,0,0,0 

40 VDU 19,0,7,0,0,0 

50 6C0L 0,128 : CL6 

60 REPEAT 

70 tirstx=RNDU200) 

80 firsty=RNDU0OO) 

90 secondx=RNDU200) 
100 secondy=RND(1000) 
110 thirdx=RND(12O0) 
120 thirdy=RND(lG0O> 
130 colour=RND<3) 
140 6C0L0, colour 
150 MOVE *irstx,firsty 
160 MOVE secondx,secondy 
170 PLOT 85,thirdx,thirdy 
180 FOR 1=1 TO 1000: NEXT I 
190 UNTIL FALSE 



Program III 




on the screen. Try changing their size 
and colour. 

Then write a program to put two on 
the screen at once. Can you make them 
different colours? What happens if they 
overlap? And what happens if you 
change MOVE in lines 50 and 60 to 
DRAW? (Putting in a line 75 to 
change the graphics colour might help 
here.) 

Program HI uses the ideas of 
Program II to generate a random se- 
quence of triangles. 
Line 20 sets the mode. 
Lines 30 and 40 alter the colour assign- 
ments of logical colours 3 and respec- 
tively. • 

Lines 60 and 190 make up the 

REPEAT UNTIL LOOP which 

generates the triangles. 

Lines 70 to 130 pick out at random the 

three points (firstx,firsty), etc. and 

choose the colour. 

Lines 150 to 170 do the actual work of 

plotting the triangles. 

150 and 160 MOVE the cursor to the 

first and second points respectively. 



Figure III 



(X + 1ength/2,Y + height) 



Height = 
I.732*Iength 




(X,Y) 



(X+lcngth,Y) 



Length 



Let colour 



screen 
to life . . 



By PAUL JONES 



Line 170 fills the triangle between these 
and the third point with a PLOT 85. 

If the program were any more com- 
plex it would have been better to put 
the triangle-drawing part of it in a 
procedure. This is the strategy we 
adopt in Program IV, which prints out 
50 random equilateral triangles on the 
screen by repeatedly calling PROC- 
triangle. 

If you experience a feeling of deja vu 
when you look at PROCtriangle, don't 
worry - it is virtually identical to the 
procedure of that name in last month's 
Program IX, save that we use PLOT 
85 since we are filling in triangles 
rather than drawing outlines. There's a 
lot to be gained from comparing both 
procedures. 

Figure III should also help make 
PROCtriangle clearer. Line 60 
randomly chooses the position of the 
left hand corner of the triangle 
(xpos,ypos). Line 70 fixes the size of 
the triangle. Tally counts the number of 



times the REPEAT UNTIL loop (lines 
50 to 110) is repeated. 

A little thought should show you 
that tally MOD 3 + 1 returns the 
values 1,2,3,1,2,3,1,2,3 cyclically. 

We use this to cycle through the 
colours for the triangle by passing tally 
MOD 3 + 1 to the variable colour in 
the procedure call (lines 80 to 130). 

Last month we not only used 
PROCtriangle to draw the random 
triangle outlines, we also used it in 
Program X to draw the nested triangles 
that featured in Page 33's colour photo. 

This month I have followed in the 



10 REN Ht PROGRAM FOUR m 

20 NODE S 

30 VDU 19,3,4,0,0,0 

40 tally-0 

50 REPEAT 

60 xpos=RND(1000):ypos=RND<800) 

70 size=RND<500> 

80 PROCtriangle(xpos,ypos,size, 
tally HOD 3+1) 

90 tally=tally+l 

100 FOR nait=0 TO 500: NEXT Malt 

110 UNTIL tally=50 

120 END 

130 DEFPROCtnanqle(x,y, length, col 
our) 

140 LOCAL height 

150 GCOLO, colour 

160 height=!engthtl. 732/2 

170 HOVE x,y 

180 HOVE x+length,y 

190 PLOT 85 f x+length/2,y+height 

200 ENDPR0C 



Program IV 



May 1983 BBC MICRO USER 29 



From Page 29 

same vein by using PROCtriangle from 
Program IV to produce a series of 
colour-filled triangles, as you will see if 
you run Program V. 

In Program V we not only use tally 
to once more cycle through the colours, 
but also to alter the position and size of 
the triangle, so that each' successfully 
nests within the preceding one (lines 80 
to 110). 



10 REH t« PROGRAM FIVE ### 
20 NODE 5 

30 VDU 19,3,4,0,0,0 

40 tally=0 

SO 5ize=1000 

60 heights. 732*size/2 

70 REPEAT 

80 base=size - tally*25G 

90 up=heiqht*tally/4 
100 xpos=100 + 250 t tally/2 
110 ypo5=up/2 * 100 
120 PROCtr i angle (xpos,ypos t base, tally 
HOD 3*1) 

130 tally=tally+l 
140 UNTIL tally > 3 
150 END 

160 DEFPROCtri angle (x,y, length, col our) 
170 LOCAL height 
180 GCOLO, colour 
190 height=iength*t. 732/2 
200 HOVE x,y 
210 N0VE x+length,y 
220 PLOT 85,x+length/2,y+height 
230 ENDPR0C 



Program V 

Program VI uses two different 
coloured triangles positioned to give a 
multicoloured rectangle. It does this by 
repeating our triangle drawing for- 
mula: 

1. MOVE to first point 

2. MOVE to second point 

3. PLOT 85 to third point. 



10 REN hi PROGRAM SIX »** 


20 NODE S 


30 VDU 19,3,4,0,0,0 


40 REM First triangle 


SO 6C0L0, 1 


&0 HOVE 0,0 


70 HOVE 1279,0 


80 PLOT 85,1279,1023 


90 REH Second Triangle 


100 GCOLO, 3 


110 HOVE 0,0 


120 HOVE 0,1023 


130 PLOT 85,1279,1023 



(0,1023) 
Second 

point 



(1279,1023) 
Third 
point 



(1279,1023) 
Third 

point 




(0,0) 
First 

point 



(0,0) 
First 
point 



(1279,0) 

Second 

point 



Figure IV 

Figure IV should make this clear. 
This is not the most efficient method, 
though. If we take care in choosing the 
order of the points we visit we can 
arrange that the last two points visited 
in order to draw the first triangle 
become the first two points of the 
second. 

That is, having drawn the first 
triangle, we can then draw the second 
with just another PLOT 85 to supply 
the final point. 

Program VII uses this method to 
produce the same output as Program 
VI. Figure V should illustrate the idea. 



10 REH »*# PROGRAM SEVEN H* 


20 H0DE 5 


30 VDU 19,3,4,0,0,0 


40 REH First triangle 


50 GC0L0, I 


60 HOVE 1279,0 


70 HOVE 1279,1023 


80 PLOT 85,0,0 


90 REH Second Triangle 


100 6C0L0,3 


110 PLOT 85,0,1023 



Program VII 

To show how important the order of 
visiting the points is when you're using 
this method, try swapping lines 60 and 
70, then run the program. 

If you think about it, we can use this 
technique in a procedure to draw 
rectangles - though we'd probably 
have both triangles the same colour! 

In fact, we use this in PROC- 
rectangle in Program VIII. The proce- 
dure assumes that the sides of the 
rectangle are parallel to the axes, that is 
that the rectangle does not slope. 
Figure VI should help make the proce- 
dure's variables clear. 

The program simply computes 
random values for those variables 
(once more using tally MOD 3 + 1 to 
pick colours) and calls PROCrec- 
tangle 50 times to produce random 
rectangles in much the same manner as 



Final point 
(0,1023^^^ 


(1279,1023) 
Second point 


Third point 


(1279,0) 
First point 


Figure V 















I 

breadth 

J 


(xpos,ypos) 

.* length » 


* 


Figure 


VI 





(second x.secondy) 



a 



n 



(firstx,firsty) 



Figure VII 



10 REN Hi PROGRAM EIGHT Hi 
20 «0DE 5 

30 VDU 19,3,4,0,0,0 

40 tally=0 

50 REPEAT 

60 xpo5=RND(1000>:ypos=RND(800) 

70 length=RND<500) 

80 breadth=RND(500) 

90 PR0Crectangle(xpos,ypas, length, 
breadth, tally NOD 3+1) 
100 tally=tally+l 
110 FOR Mait=0 TO 500: NEXT Halt 
120 UNTIL tally=50 
130 END 

140 DEF PR0Crectangle(xpos,ypos, 
width, height, colour) 
150 GC0L0, col our 
160 N0VE xpos+Nidth,ypos 
170 N0VExpos,ypos 

180 PLOT 85,xpo3-rNidth v ypos+height 
190 PLOT B5,xpos,ypo5+height 
200 ENDPROC 



Program VI 



Program VIII 



30 BBC MICRO USER May 1983 



Cumana drives 
BBC Micro best! 





CUMANA DRIVES + 
OWN POWER SUPPLY 
=BIG PLUS FOR 
BBC MICRO USERS 
. . . JUST FOR 
STARTERS 




The 'ice on the cake' is that because the Cumana 
Drive has its own power supply, it can be used 
with many other Micros when connected via the 
appropriate cable. Cumana supply a Drive 
connecting cable which has a standard 34 way 
edge connector plus 34 way BBC connector in 
the same cable length. This allows the Cumana 
Drive to be connected to numerous 
makes of micro without the need 
to change connecting cable. And the 
Japanese manufactured disk drives 
are quiet and utterly dependable. 

CS50A Single 40 track drive 1 00K £1 99 

CD50F 2 double sided 80 Track TEAC Drives 

with cabinet and power supply 800K £61 9 

Disk formatter and instructional manual £15 

Model A-B upgrade kits £65 

Many other Disk Modes available for BBC. 
Call or write for Data Sheet. 

Cumana Ltd 

Unit 1 , The Pines Trading Estate, Broad Street, 
GUILDFORD, Surrey GU3 3BH (0483) 503121 
Telex: 859380 CUMANA 



12 



WOK^H 



.***&£ 




3SSKS5** 



*~~££5*«*»** 



From Page 30 

we produced random triangles in 
Program IV. 

Continuing with this theme of adapt- 
ing previous programs, Program IX 
uses PROCrectangle to produce a 
series of nested rectangles in a manner 
strictly analogous to the way that 
Program V produced nested triangles. 
Lines 70 to 100 ensure that successive 
rectangles nest by altering the side 
lengths and the corner positions. 

Although I normally use the above 
procedure for rectangles, there is 
another way of defining a rectangle 
(again assuming it doesn't slope). This 
is by simply giving the procedure the 
co-ordinates of two diagonally opposite 
corners of the rectangle. 

Figure VII shows the method. 
Program X uses it in PROCectangle to 
produce a "staircase" of six rectangles. 
Each successive rectangle is drawn 
ystep graphical units taller then the pre- 
ceding one and xstep graphical units to 
the right. 

Although the output may seem 
rather trivial, it is by using much the 
same techniques that we are able to 
draw bar charts and graphs, as we shall 



10 REM *« PR06RAM NINE «* 

20 NODE 5 

30 VDU 19,3,4,0,0,0 

40 tally=0 

50 length=I00O:breadth=800 
60 REPEAT 

70 «idth=iength#(4-tallyJ/4 
80 height=breadth*(4-taily)/4 
90 xpos=100 + 500#taiiy/4 
100 yposMOO ♦ 400*tally/4 

110 PR0Crectangle(xpo5,ypos, width, 
height, tally NOD 3+1) 
120 tailystally+1 
130 UNTIL tally > 3 
140 END 

150 DEF PR0Crectangle(xpos,ypos, 
width, height, colour) 
160 GC0L0, colour 
170 HOVE xpas+width,ypos 
180 H0VExpos,ypos 

190 PLOT 85,xpos+width,ypas+height 
200 PLOT 85,xpos,ypo5+height 
210 ENDPR0C 



Program IX 

see in later issues. 

In the meantime, why not practice 
your graphic techniques by writing 
programs to draw simple, multi- 



10 REH «t PR06RAN TEN *« 

20 NODE 5 

30 VDU 19,3,4,0,0,0 

40 VDU 19,0,5,0,0,0 

50 bottoix=0:bottoiy*0 

60 tapx=0:tapy=G 

70 xstep=213:ystep=170 

80 counter=0 

90 REPEAT 

100 col our = counter HOD 3+1 
110 tapy s topy+ystep 
120 topx=bottoix+xstep 
130 PROCrectangle(bottoix,bottoiy, 
topx,topy, colour) 
140 bottoix=topx 
150 counter=counter+l 
160 UNTIL counter** 
170 END 

180 DEF PROCrectangle(firstx,*ir 
sty, secondx,secondy, colour) 
190 GC0L0, colour 
200 HOVE secondx,firsty 
210 HOVE firstx,firsty 
220 PL0T85,secondx,secondy 
230 PLOT 85,firstx,secondy 
240 ENDPR0C 






Program X 

coloured pictures constructed from 
triangles and rectangles? Houses, 
rockets and boats seem to be favourite 
subjects. 



Useful things to know 



ROM insurance can 
save your program 



IF you're the type of person 
who always has to go back 
three times to check that his 
front door is locked, you prob- 
ably share my sense of in- 
security when it comes to 
saving programs. The BBC 
Micro might well be indicating 
that saving is complete, but how 
do you know that you will be 
able to reload the program from 
tape? 

•CAT might show you 
what's on the tape, but that's no 
guarantee that it will load. And, 
of course, you can't try a simple 
LOAD command because, in 
the process of trying to load the 
version on tape, you overwrite 
your original — so, if the loading 
fails for any reason, you're in a 
real mess. 



The answer is to use the com- 
mand 

*LOAD""8000 
which will load the first 
program it encounters on tape, 
not to the place it normally 
loads Basic programs, but to 
memory locations &8000 
onwards. 

Now these memory locations 
are ROM, which means that 
their contents are fixed. The 
computer can try as much as it 
wants to try to change the 
values of these locations (say, 
by loading a program into them, 
as in this case), but it won't 
succeed. 

The micro is blithely unaware 
of this fact though, and will con- 
tinue to load into the ROM until 
it reaches the end of the 



program on tape. 

Once there, if the program 
was properly saved in the first 
place, it will return to Basic, 
considering that it has com- 
pleted its task successfully. 

We can now breathe sighs of 
relief, since we then know that 
the program on tape is capable 
of being loaded by the system. 

If, however, the program on 
tape fails to load, or an error 
message is generated, all is not 
lost. By using *LOAD W '8000 
and thus loading to an area of 
ROM, the memory which our 
original program occupied 

remains untouched. That is, the 
program we have attempted to 
save remains intact, so we can 
now try to save it again — 
hopefully with more success. 



32 BBC MICRO USER May 1983 







;/ 



• 



• 



• 



I 



NEW PROGRAM 




PRICE £7.50 





SOFTWARE EXPRESS. FREEPOST (No Stamp Required), Liverpool L33 3AB 
Software Express is a trading name of DAMS Office Equipment Limited 



THE 

SOFTWARE 

EXPRESS 

EASY-REPLY 

COUPON 

Please mail me the following 
Software Cassettes. 

(All prices include VAT and postage). 



PROGRAM 




INSERT 
QUANTITY 



FOR BBC MODEL B OR 
EXPANDED MODEL A 

(compatible with all current 
BBC ROMS) 



SPACE 

INVADERS 

GALAXY 

WARS 

CITY 

DEFENCE 

MUSIC 

SYNTHESIZER 
+ AUTO 
COMPOSER 




£7.50 
£7.50 
£7.50 

£9.50 



I OTHER BBC PROGRAMS 

£8 



SPACE 
PIRATES (16K) 

SPACE WARP 
(32 K 0.1 
ROM only) 

BBC CHESS 
(32K0.1 
ROM only) 



£9 

£8 



TOTAL o 
PRICE ot 



I enclose cheque/P.O. | | 

Payable to Software Express. 

Or please charge my Access/ Barclaycard No. 



24 HOUR 
ANSAPHONE FOR 
CREDIT CARD ORDERS: 

051-548 2020 



Name: 



Address: 



TeL 



Mail to: 

SOFTWARE EXPRESS 

FREEPOST 

(No Stamp Required) 

Liverpool L33 3AB 





BBC5 






MIKE BIBBY continues his 
explanation of the fundamentals 

of the BBC Micro workings 




" 



CC 



M 





WE have seen that we can code our numbers in ways other than our usual 
denary, or decimal, system. We also looked last month at a way of coding 
known as the binary system, which uses the digits to 1 to represent any 
number - unlike the denary system which uses the digits to 9. To dist- 
inguish the two systems, we decided to prefix binary numbers with the 
symbol **%". 

The number "one hundred and sixty 
- two" is encoded in each system as 
follows: 

In denary, 

162 i.e. 100+60+2 

In binary, 

128 64 32 16 8 4 2 1 
% 10 10 10 
i.e. 128+32+2 

Each column in the binary system, 
known as a "bit", contains either a one 
or a zero. Although the binary 
representation of a number is rather 
cumbersome to write, this simple two- 
state system is easily represented by 
electrical circuits — which are either on 
or off. 

We saw that the computer handles 
bits in groups of eight at a time. Such a 
group is called a byte. Thus a byte con- 
tains eight bits labelled, somewhat 
peversely, bits to 7. See Figure I. 

Bit 0, as you can see , is the "1" 
column. As this is the smallest value bit 
we say that bit is the least significant 
bit (LSB). Bit 7, the "128" column, is 
called the most significant bit (MSB). 
The reason for using the numbers to 
7 to label the bits instead of the more 
logical 1 to 8 has to do with powers, a 



subject you almost certainly covered at 
school. 
2 to the power 2" is 2*2 = 4 
2 to the power 3" is 2*2*2 = 8 
2 to the power 4" is 2*2*2*2 = 16 
and so on. "2 to the power 8" would be 
eight twos all multiplied together. 

Notice as the powers of two in- 
crease - that is, as we multiply more 
twos together - the answers are doub- 
ling, just as our column or bit values 
do. 

Also, 2 to the power of 2 is 4, the 
value of bit 2, while 2 to the power of 3 
is 8, the value of bit 3. It shouldn't 
come as any surprise to you to find 
that 2 to the power of 7 is 128, the 
value of bit 7. \ 

You can verify this on the BBC 
Micro by using the symbol "a" ("T" in 
Mode 7) which stands for "to the 
power of. I 

Try: 

PRINT 2T4 j 

PRINT 2T7 j 

Be sure to try 2 A 1, which will show 
you why bit 1 has the value 2. Also try 
2^0. The answer may surprise you. The 
fact is that any number to the power 








34 BBC MICRO USER May 1983 



Bit number 
Bit value 


7 


6 


5 


4 


3 


2 


1 







1 











1 


1 





1 




128 


64 


32 


16 


8 


4 


2 


1 





Figure I: The bit pattern for 141 



Bit number 7 6 


5 


4 


3 2 


1 


Bit value J ^ 2 ^ 


2fv5 


2^4 


2/JO 2^2 


2^1 2^0 


1 


128 64 


32 


16 


8 4 


2 1 






1 


1 








1 


1 











Figure II: The bit pattern for 204 



is 1! Hence bit zero has the column 
value of one. Figure II illustrates this. 
Look at this sum: 

% 1 
+ % 1 



%10 

If you think about it, that is correct, 
since the sum adds one and one, and 
the answer %10 is binary for two. One 
way of relating this to our usual way of 
doing sums is to say that we carry 
when we get to two, instead of ten as 
we do in our normal, decimal, sums. 

Another way to look at it is that we 
have to carry when we get to two 
because we aren't allowed to use the 
digit '2'. If you remember, last month 
we had a rule forbidding two "coins" of 
the same value. 

Try this sum: 

4 2 1 

% 1 1 in 3 

+ % 10 denary + 2 

%1 1 5 



Here we carry from the second column 
to the third. 

Addition is not very hard at all —just 
make sure that you always "put 
down and carry 1" when you get a two. 
If you get a three then "carry one for 
two and put one down". 

For example: 



8 4 2 1 




% 1 1 1 in 


7 


% 1 1 decimal 


+3 


% 10 10 


10 



Subtraction is a little more com- 
plicated, and depends on whether you 
borrow or decompose! That latter 
phrase doesn't describe the current 



economic climate, it's just that there 
are two schools of thought on the way 
subtraction should be taught — the 
borrowers and the decomposers. 

Fortunately, we can ignore binary 
subtraction since we can manage with- 
out it - as does the microprocessor 
inside your machine. If you want to do 
some binary subtraction it is straight- 
forward enough provided that you 
remember that it is two you're borrow- 
ing or taking, not ten. Figure III 
illustrates the process - without any 
attempt to explain it. 

Before we leave the realm of simple 
sums, look what happens if we shift 
everything in a binary number over to 
the left, putting a zero into bit 0, which 
would be left vacant otherwise. For 
example: 



each bit is transferred to the next higher 
bit, which is of course double in value - 
so the end result is that the whole 
number is doubled in value. 

Similarly, we can do the binary 
equivalent of DIV 2 by shifting to the 
right. For example: 



8 4 2 1 

% 1 1 1 

becomes 

8 4 2 1 
% 110 



which is 13 



which is 6 



8 4 2 1 

% 10 1 

becomes 

8 4 2 1 

% 1 1 



which is 5 



which is 10 



This shifting to the left doubles the 
number automatically. This isn't too 
hard to visualise, because the value of 



and, of course, 13 DIV 2 gives you 6. 
(The DIV command, in case you aren't 
familiar, deals with integer division, 
that is, it does division but only tells 
you the "wholes" and ignores the 
remainders.) 

As each bit is moved to the right, it 
occupies a column exactly one half 
lower in value, thus the sum total of all 
the bits is one half lower, save for the 
original bit which has disappeared 
altogether (hence the ignored 
remainder). 

Well, that's enough binary for one 
month. Hexadecimal blooms in June! 



% 

-% 
% 


9 X 


i 
i 


1 

1 


OR 


% 1 

-% " 

% 


'1 
1 


1 
1 


In decimal 


6 

-3 

3 


Decomposition 






Borrowi 


ing 









Figure HI: Binary subtraction 



May 1983 BBC MICRO USER 35 



The B.B.C. Microcomputer 



Model 6 



available today, but designed for the future 

Are you looking for a home computer that is flexible - that can cover 
education, entertainment or business; powerful - that offers 32K of 

memory; and is above all great value? 




Then look no further! Come and see us at Microstyle and we'll show 

you the B.B.C. Micro'. 

A home computer system designed to grow hand-in-hand with the 
abilities of it's user, and that is capable of keeping pace with advances 

in modern technology. 

We stock a wide range of exciting games and systems packages, quality add-on facilities and a 
comprehensive selection of accessories designed to expand your B.B.C. system. 



Games & Educational 
Software: 


Our range is growing daily, and we 
deal direct with independent, 
specialist software suppliers to bring 
you one of the widest choices 
available in the South-West. 


Screens & Monitors: 


Green Screen, 12" Monitors. £90.00 

Colour Monitors, 14" screen. Make 
the most of hi-resolution graphics in 
colour. £285.00 


Cassette Decks: 


Great value WITH COUNTER, £33.65 


Joysticks: 


Add a new dimension to your games 
B.B.C. joysticks. £13.00 


Accessories: 


Our stock covers just about 
everthing you could ever need. For 
example, B.B.C PARALLEL PRINTER 
CABLE. £19.95 | 



Contact us now for your B.B.C. Microcomputer, 
available ex-stock at £399.00 

Don't forget, we also stock a wide selection of other systems 
COMMODORE, SPECTRUM, ZX81 and COLOUR GENIE 

Talk to Microstyle the people who make computing understandable 

The Newbury Computer Centre, 

47 Cheap Street, Newbury. 
Telephone: Newbury (0635) 41929 



Printers: 


One of the most valuable aids to the 

programmer or business user. 

Our range includes: 

Epson MX80 FT III. £385.00 
GP100A £224.25 
GP250X £299.00 

FOUR COLOUR PRINTER/PLOTTER. 

4%" roll fed paper. £149.00 

Discom BYTEWRITER. Great value, 
low-cost daisy wheel printer/type- 
writer. £557.75 


Books: 


Keep up to date with developments, 
our stock of books and publications 
is changing all the time. There's 
always something new! 



ALL PRICES ADVERTISED INCLUDE VAT 



and 




The Bath Computer Centre 

29 Belvedere, 
Lansdown Road, Bath. 
Telephone: Bath (0225) 334659 



36 BBC MICRO USER May 1983 



You really can't manage 
without a lever device for 
inputting information as a 
two-dimensional vector? 






Ilfl 









IN the previous two articles of this 
course we saw how a model A could be 
upgraded to a model B. This month I'd 
like to explore the topic of joysticks. 

The joystick sold by Acorn is quite 
reasonably priced, but it is possible to 
undercut it by building it yourself. You 
can then mount it in the sort of housing 
that suits you best. If you already have 
the joystick for the Atari games com- 
puter we shall be seeing how to in- 
terface it to the BBC computer. 

Part of the rationale behind includ- 
ing the A/D converter in the BBC 
Micro is to allow the connection of a 
joystick. It is possible to connect one to 
the user port, but as this is not the way 
Acorn planned it there will be no 
supporting software for that type of 
configuration. So I will only talk about 
fitting a joystick to the A/D con- 
nector. 

To make the connection you will 
need a 15 -way D-type plug with solder 
cup connections. If you look very 
carefully on the wiring side you will see 
the pin numbers printed on that side of 
the plug. The BBC Micro is capable of 
supporting two joysticks, and the con- 
nections for the second one are shown 
on all the diagrams in brackets. 

A joystick is a lever device for in- 
putting information as a two 
dimensional vector. Sounds impressive 
doesn't it? You can rehearse the phrase 



and slip it quietly into the conversation 
when boasting about your latest score 
on Snapper! 

Despite what has been said 
elsewhere, using a joystick for Snapper 
improved my score fourfold at a stroke. 
As far as I know, Snapper is the only 



THE BEEB 



;cd/ 



BODYX 
BUILDING 

COURSE 




Acorn game to support a joystick at 
the moment, but I'm sure there will be 
more before long. 

There are basically two types of 
joystick, and both will work with 
Snapper. The simpler is the switch 
type, where moving the joystick in any 
one of four directions will close one of 
four switches. This is the type found on 



many arcade games and can be fitted 
to the user port as well as the A/D 
socket. 

The second sort is the proportional 
type, which inputs a value that is 
proportional to how far over the stick is 
moved. This type can only be fitted to 
the A/D input, and this is the one we'll 
look at first 

If you cast your mind back to the 
first issue of BBC Micro User you will 
remember an article by Mike Shaw 
about adding a paddle to the com- 
puter. In essence the addition of a 
joystick can be achieved in a similar 
way by using one potentiometer, vari- 
able resistor or volume control - they 
are all the same thing with different 
names — for each axis of movement. 

However, you will need to convert 
the rotational movement of each pot 
(potentiometer) into the lateral move- 
ment required. This can be achieved 
quite simply as follows. One pot is fixed 
to a bracket and the other pot is 
attached to it by bolting the shafts 
together at right angles. A lever is then 
connected to the body of the second 
pot - and there you have your joystick! 
If you study photo No. I you will see 
the construction clearly. 

You must arrange that the travel of 
the pots covers the mechanical range 



May 1983 8BC MICRO USER 37 



From Page 37 

you are interested in. This can be 
achieved simply by rotating them in 
their fixings. For the more 
mechanically able, you might like to 
put a kink in the lever so that it is in 
line with the centre of movement. This 
will improve the feel of the joystick, but 
is not essential. 

The circuit in Figure I shows how 
this can be wired up for one joystick. If 
you want a second, repeat the circuit 
using the connections shown in 
brackets. 

Although this is the first circuit 
diagram we have seen in this series, I 
am not going to delve into the relation- 
ship between the physical appearance 
of a component and its circuit symbol. 

To do so would be a little tedious to 
those already familiar with it and many 

books are available on simple 
electronics which show it more clearly 
than I could in this article. Such books 
are available at most libraries and are 
sometimes found in the children's sec- 
tion, so don't be put off looking in 
there. 

The value of the pots you use is not 
critical and any value between 1,000 
ohms and 1 megohm can be used, but 
they must be of the linear type, not 
logarithmic. You will also see in 
Figure I that a "push to make" switch 
is needed. This is the "fire" button and 
can be used for several things. In 
Snapper it tells the program to look at 
the A/D port for movement instruc- 
tions instead of at the keyboard. 

The only snag with this type of con- 
struction is that as the pot is not being 








Figure I: Resistor Joystick 

moved over the whole of its range you 
will not get the maximum range of 
numbers of which the A/D converter is 
capable. 

This situation can be improved by 
connecting one end of the pots, not to 



THE BEEB^ 
BODY^ 
BUILDING 

COURSE 



the reference voltage, as was the case 
with the games paddles, but to a higher 
voltage. As there is a 5V output from 
the A/D socket it is convenient to use 
this as shown in Figure I. 

For the less adventurous, it is 



possible to purchase joystick 
assemblies of this type. A low cost one 
is available for under £3 from Tandy 
stores. Also Radio Spares supply a 
joystick assembly (stock No. 162-732) 
which is shown in photo No. 2. You 
will also see that I have mounted it in a 
small plastic box. I took the sharp 
edges off with a file and it is quite com- 
fortable to hold. 

This assembly enjoys the luxury of a 
spring which returns the lever to its 
centre position and also a grub screw 
adjustment on the position of the pots. 
On mine I had to adjust this to get 
Snapper to work properly. To do so, 
simply run the game and adjust the 
rotation of the pot until the Snapper 
can be steered in both directions. Then 
tighten up the grub screw and adjust 
the up and down in the same way. 

If you get control in the wrong direc- 
tion and pressing the lever left turns 
Snapper right just swap over the two 
outside connectors of the pot. This 
applies to all the types of joystick I 
have described so far. 




Photo I: A two-potentiometer joystick 



Photo II: Radio Spares joystick assembly 



38 BBC MICRO USER May 1983 



If you do not have Snapper, and are 
itching to have a go with your joystick, 
listing No. I shows a simple program 
which allows you to draw on the screen 
using the joystick. Lines 50 and 60 
input the values from the joystick. The 
DIV 64 part should always be added, 
as the A/D converter has only 10 bits 
resolution, and this returns numbers in 
the range to 1023. 

According to the User Guide the 
A/D converter is capable of 12 bits 
resolution (0 to 4095), but this is not 
the case. I have seen an internal 
technical memo from NEC (the com- 
pany who made the chip) saying that 
the two least significant bits do change 
but they represent only internal noise, 
and that this chip should be described 





IK") 



20k 



20k 



15(14) » 



i 

S* 



\S 



20k 



8(8) 



Fire 

button 



10 CLS 

20 PRINT "JOYSTICK DOODLE 
30 INPUT "INPUT MODE " , M 
40 MODE M 

50 X=ADVAL<1> DIV 64 
60 Y=ADVAL<2> DIV 64 
70 DRAW X,Y 
SO TIME=0 

90 REPEAT : UNTIL TIME 
100 60T0 50 



\ 



Listing I 

in future as a 10 bit chip and not 12 bit. 
So when looking at the values from the 
A/D port you should always use 

ADVAL(N) DIV 64 
to avoid any unnecessary fluctuations 
in the number returned. In the 
program, lines 80 and 90 waste time 
until a new value has been taken for 
both channels. This happens auto- 
matically, and each channel is updated 
every 40 ms. 



Figure II: Switch joystick 

If there are other program lines in 
the loop which will take up time these 
lines will not be needed. So try taking 
those lines out and watch the results 
carefully. You will see that the points 
plotted are displaced, as a new position 
is used for one axis and the old value 
for the other. This program can be used 
as the nucleus of a more complicated 
one. 

Try using the INKEYS function to 
look at the keyboard each time round 
the loop and use any key presses for 
extra functions, like wiping out the 
screen and changing the colour. You 
could also scale the numbers by mul- 
tiplying them by some number so that 
you cover more of the screen. 

You may want to use the X and Y 
values, not to draw, but to move the 
gun sights of a space ship or track 
enemy planes as they appear over the 
horizon. 

You could also make a joystick 
using switches, which would be suf- 
ficient for playing games like Snapper. 
Again, Radio Spares have a joystick 
switch assembly (stock No. 337 352) 




Photo HI: Detail of the Radio Spares switch joystick assembly 




13(10) 



20k 



15 Joystick 1 (14) Joystick 2 



which is shown in photo No. III. It 
consists of two rotary switches con- 
nected together mechanically just as we 

connected the pots. 

As we need to know when the switch 
is in the centre position as well as when 
it is pushed to one side, we have to 
arrange two resistors so that half the 



10 
20 
30 
40 

50 

60 

70 

SO 

90 

100 

110 

120 

130 

140 

150 



X=512 
Y=512 

INPUT " INPUT MODE ",M 

MODE M 

MOVE X,Y 
A=ADVAL<1> DIV 64 
B=ADVAL<2) DIV 64 
IF A > 800 THEN X-X+2 
IF A < 300 THEN X=X-2 
IF B > 800 THEN Y=Y+2 
IF B < 300 THEN B=Y-2 
DRAW X,Y 
TIME=0 

REPEAT : UNTIL TIME > 5 
GOTO 60 



Listing II 

voltage is fed to the input (giving a 
value of about 512) when the joystick 
is in the centre position, and full 
voltage, or no voltage, in the other posi- 
tions (1023 or 0). 

Again the connections for a second 
joystick are shown in brackets on the 
diagram in Figure II. Listing II shows 
how this arrangement could be used to 
draw pictures. Improvements could be 
made by making the delay loop speed 
up when the joystick had been held in 
the same direction for some time. 

Now that would have been the end 
of the story but for one incident. A 
friend of mine, Bob Cliff, had been 
given an Atari joystick and wanted to 
know how he could connect it up to the 
BBC Micro to play Snapper. I told him 
that it was impossible because of the 
way the joystick was made. Un- 
fortunately I overheard myself saying 
this and, as my ability to resist a 
challenge is one of my least developed 

► 



May 1983 BBC MICRO USER 39 



From Page 39 

faculties, I pitched in and designed a 
circuit to do it. 

Bob built the circuit (see photo No. 
IV) and now happily plays Snapper 
with his Atari joystick. As some of you 
might already have such a joystick I 
will describe the procedure. If you 
haven't got one then the next section 
will still be of interest as it includes 
some simple transistor theory. 

The Atari stick is a series of contacts 
arranged in a circle. The lever makes a 
connection with any one of these con- 
tacts at a time. Also included is a fire 
button and the whole thing terminates 
in a 9-way D-type socket. The wiring 
diagram is shown in Figure III. This is 
not a configuration that can be wired 
up like Figure 2 because the lever con- 
sists of only one contact and not two. 
In order to see how this problem can 
be solved we need to see how a 
transistor can work as a switch. In 




Photo IV: The Atari to BBC interface. 
It could be mounted in a box by the 
DIY inclined. 

Figure IVa a transistor is shown with 
current flowing down the base (lb), this 
causes a larger current to flow down 
the collector (Ic). The amount that Ic is 
larger than lb is known as the gain (G) 
such that: 

Ic = lb * G 
If lb is large enough then the value 
of the resistor RL will limit the 



Fire 

button 



-•8 -i 




Joystick lever 



■•3 



f- 9 way D-type 
socket 



#2 



*4 



6 - 



Figure III; Diagram of Atari joystick 




Figure IV: The transistor as a switch 



maximum size of the current Ic. When 
this happens the transistor is said to be 
saturated. It stands to reason that when 
this happens there is no voltage across 
the collector and emitter of the 
transistor, and the transistor is said to 
be "turned on". 

Looked at another way (in Figure 
IVb), base current causes a switch to 
be closed. When no base current is 
flowing the switch will be open, thus 
you get a voltage at the point Vout. 
You can see that this is an inverting 
action. We can now apply this to our 
problem. 



The circuit shown in Figure V con- 
sists of three parts, the first two of 
which (Tl and T2) are identical and 
condition the up/down and left/right 
outputs of the joystick. The final 
transistor (T3) deals with the fire 
button. 

The joystick's central lever is con- 
nected to the full scale voltage of the 
A/D converter called Vref (short for 
reference voltage). When in its central 
position it does not make contact with 
either connectors 1 or 2 and so Tl is 




Figure V: Atari joystick to BBC Micro interface 



8: Joystick connector 7: A/D connector for joystick 1 4: A/D connector for joystick 2 



40 BBC MICRO USER May 1983 



off. This means that the voltage at pin 
7, the input of the A/D converter, is at 
half the Vref value due to the potential 
divider action of the two 20k resistors. 
This gives a mid-range number with no 
movement of the joystick. 

If the joystick lever is pushed 
forward it makes a connection with 
contact 1 and, as this is wired directly 
to the A/D input, we get the full range 
number. 

If the joystick is pulled back, then 
Vref is connected to contact 2. This 
drives current into the base of 
transistor Tl and turns it on. In turn 
this shorts out the lower 20k resistor 
and so puts zero volts on the A/D 
input, thus giving a low number — 
actually zero. The circuit is the same 
for the left/right connections using 
transistor T2. Finally, transistor T3 in- 



THE BEEEU 
BODYX 

BUILDING 

COURSE 



verts the high voltage on connector 6 
when the fire button is pressed by 
acting as a switch. 

You may have to read that a few 
times and follow Figure V closely 
before you understand it. Sorry, but it 
don't come any simpler. Again, the 
resistor values are not very critical and 



you may use values up to 10k greater 
than those shown. The transistors also 
can be any general purpose NPN 
transistors such as a BC107. 

Armed with a joystick, pro- 
gramming can become more interest- 
ing, games more exciting and other 
applications possible. For example, 
how about making the joystick control 
the envelope or frequency parameters 
of the sound synthesiser so you can in- 
teract with the noise? 

Or you could use a joystick to point 
to options in a menu and use the fire 
button to select them. Do not think the 
applications of a joystick are limited to 
games. Have a good old joystick 
joggle. 

• Next month the misers' graphics 
digitiser will exercise your arms as 
well as your imagination. v 



We've pot it all toped! 



MICRO 
USER 



■ «•» 



BBC 
MICRO 

USER 



Dea 



thwatch 




KONG 



BBC 

MICRO 
USER 



m 



*if?.: 



-„H 24 other programs 
r.t d ed1n the page, of 

B BC Micro U««' 

Vol. 1. No. 1- 



and 22 other programs 
listed in the pages of 
BBC Micro User 
Vol. 1, No. 2. 



Program. « 8ted |n 

Pages of BBr m- 

Vol. 1, No : 3° Mlc '° User 



Top-quality cassettes of programs listed in BBC Micro User 



March issue 

DEATHWATCH, a superb arcade 
game that challenges you to use your 
skill to fight off enemy battleships, 
tanks and helicopters; BINGO, 
illustrating clever uses of the 
randomise function; BUBBLESORT 
routines; TESTS for function keys in 
machine code routines; a useful 
CASSETTE BUGS FIX for users 
with OS 0.1 ..and many COLOUR 
AND GRAPHICS ROUTINES to 
help you create a kaleidoscope of 
screen designs which you can 
incorporate into your own programs. 



April Issue 

KING KONG, a fast moving game in 
which you pilot a helicopter to rescue 
girls perched on the Empire State 
Building before killing Kong; 
GRAPHICS, a suite of colourful 
demonstration programs; NIM, a 
structural game of strategy; TOKENS, 
first steps in unravelling the Basic 
ROM; HOROSCOPES, a fun program 
with useful error-trapping routines; 
FORMATTER, an essential disc 
utility; DISASSEM, a full machine 
code disassembler; HEAT & LIGHT, 
two measuring and plotting programs 



May issue 

AIR STRIKE, a fast and furious 
arcade game; Test your mental 
powers with PELMANISM; 25 
ANAGRAMS for you to solve; 
CHARACTER, to generate vertical 
and inverted text; TELETEXT, 
animation in Mode 7, really brings the 
screen to life; LAB, a trio of 
programs to interface laboratory 
equipment; 10 programs to 
investigate the OSBYTE routine; 
BEEB, two joystick exercises; plus 
more COLOUR and GRAPHICS 
routines. 



Save wear on your fingers - and 
ensure your programs are error-freel 



£3.75 each 



ORDER FORM 
OIM PAGE 81 



Unci p&p) 



May 1983 BBC MICRO USER 41 



WORLD'S LARGEST LIST OF 




42 BBC MICRO USER May 1983 



BBC MICROS ACCESSORIES 







d& 



*<*$\ 
i?i& 



Weak > 






* 









* 









,* 
*& 



«#s 












is 



^& 





















<8® 






« 



\ SO 



# 






y> 



% 









-VtKK 



{* 

4 






rap 



^ 






Mail or telephone order 
Barclay card or Access 
Credit Card accepted 





POST and 
PACKING 



IS STILL ONLY 
£1 PER ITEM 

Micro Management 32 Princes Street, Ipswich, Suffolk. Telephone: (0473) 59181 



Only defective or faulty goods 
may be returned. 



MICRO MANAGEMENT 




May 1983 BBC MICRO USER 43 



WE will be looking this 
month at the two sets of 
operating system routines 
which go under the names of 
OSBYTE and OSWORD. I 
shall try to explain how they 
are organised and how to use 
them from within Basic and 
from assembly language. 

The OSBYTE routines are 
those which only deal with a 
single byte of data at a time, 
such as reading or writing to 
the user port or putting 
characters into or taking 
them out of the various input 
and output buffers. 

The OSWORD routines, 
on the other hand, are those 
which either need to use 
several bytes to specify how 
the particular routine is to 
operate, or which need to 
pass or return several bytes 
of data. The idea of this 
should become clearer once 
we have looked at the 
OSBYTE routines and seen 
how they work. 

IN order to see how the 
OSBYTE routines are 
arranged, here is a 
hypothetical case involving 
Basic in which it is probably 
easier to see what is happen- 
ing than it would be if we 
were dealing with machine 
code. 

Suppose you wanted to 
supply a user with a set of 
subroutines which he could 
call from simple Basic 
programs, and you wanted 
to be able to correct if 
necessary and to improve the 
routines at a later date. 

You would want to do it in 
such a way that the user 
could simply replace the old. 
routines with the new ones 



Paul Beverley is lecturer in 
electronics at Norwich City 
College. 



without having to change 
any of the programs which 
use them. A 

How then would you pre- 
sent the routines, and how 
would you make it easy for 
the user to use them and for 
you to update them? 

One way would be to say 
that such and such a routine 
was called by "GOSUB 
10000", the next one by 
"GOSUB 11000", the next 
by "GOSUB 12000", and so 
on. 

That would be easy 
enough in Basic, since there 
is no shortage of line num- 
bers, so that if you wanted to 
update the routines you 
could fit in the extra lines 
without having to change the 
line numbers from which 
they were called. 

But remember that what 



routines provided consist of 
lines 10000 onwards, and 
they are called from the 
program which the user has 
written in the first six lines. 

This program does 
actually work. Although it 
doesn't do anything very 
spectacular, hopefully it 
illustrates the point. 

The way in which the 
routines work is that no 
matter which is being called, 
the same statement is used 
namely "GOSUB 10000". 
Which actual subroutine is 
executed depends on the 
value of A% when the 
routine at line 10000 is 
called. 

The ON GOTO statement 
determines the actual line 
number to which the Basic 
interpreter is directed. 

The user of these routines 



\ 




we are trying to do is to see 
how the machine code 
routines in the operating 
system are arranged. 

In machine code, if you 
add any extra instructions in 
the middle you have to move 
all the rest down a bit, which 
changes their addresses. 

Let us look therefore at 
another way of arranging 
these Basic routines. 

Program I illustrates an 
alternative method. The 



has no need to know what 
these actual line numbers 
are, and it does not matter if 
you change the numbering of 
the routines when you supply 
an up-dated version. 

All you have to do is to 
reserve a particular value of 
A% for each particular 
routine. 

By looking at Program I 
we can get some idea of how 
data is transferred to the 
OSBYTE routines. At line 



10 routine number 5 is 
called, and in this case no 
data is needed - it simply 
produces a buzz. 

At line 20 the mode 
change routine is called 
(routine number 4). This just 
requires a single piece of 
data - the number of the 
mode required - and X% is 
used to carry this data. 

Routine number 3, which 
is called from line 30, uses 
two parameters and these are 
transfered using the variables 
X% and Y%. The action of 
this routine is to change the 
logical colour number, X%, 
to the actual colour, Y%. In 
other words it is the VDU 19 
command. 

The final command which 
is called in this small 
program is routine number 1, 
and it is called from line 40. 

As you can see, data is not 
only passed into this routine, 
but is also returned from it. 
Y% is used to carry the 
answer of the calculation, 
which comes as a result of 
raising one number to the 
power of the other, back into 
the program which called it. 

How then does this relate 
to the OSBYTE routines? It 
is no coincidence that we 
have used A%, X% and Y%, 
because A, X and Y are the 
letters used to represent the 
three registers in the 6502) 
microprocessor. 

A is the accumulator, and 
X and Y are known as the 
index registers. When you 
jump from Basic into a 
machine code program by 
using the CALL command, 
Basic takes the lowest byte 
of each of the integer 
variables A%, X% and Y% 
and puts them into the A, X 
and Y registers respectively 
before jumping to the 
address specified in the 



1 



44 BBC MICRO USER May 1983 



PAUL BEVERLEY explains the intricacies of the 
BBC Micro's two operating system routines 




CALL. 

Programs II, III and IV 
show one way in which you 
could CALL some of the 
OSBYTE routines. 

Programs II calls OSBYTE 



10 0SBYTE=«tFFF4 

20 AX=0 

30 CALL OSBYTE 



Program II 

routine which interrupts 
the processor and produces 
the operating system title 
before returning you to 

Basic. 

Program III is an example 
of passing a variable into the 
X register. The value given 
for X% in this case is the 
time in centiseconds of the 
auto-repeat on the keys. 

In the third example 



10 QSBYTE=tcFFF4 

20 AX=11 

30 X7.=l 

40 CALL OSBYTE 



Program III 

(Program IV), two variables 
are passed. Unfortunately, 
the routine it uses is only 
available in operating 
systems 1.0 onwards, so if 
you still only have the 0.1 
version you will not be able 
to try it out 

There are various buffers 
on the BBC machine, such 
as the keyboard, the speech 



10 

20 

30 

40 

50 

60 

70 

10000 

10100 

10200 

10300 

10400 

10500 

10600 

10700 

loeoo 

10900 
11000 
11100 
11200 
11300 
11400 
11500 
11600 
11700 
11800 
11900 
12000 
12100 
12200 
12300 



AX=5:6GSUB 10000 

AXM : XX=6 : GOSUB 10000 

AZ=3 : XX=0 : YX*=4 : 60SUB 10000 

AX=1 s XX=2 : YX=3 : GOSUB 10000 

PRINT ■The cube of ";XZ " is ";YX 

END 

ON AX GOTO 10200, 10600, 11000, 11400, 11800, 12200 



REM Routine 1 - 

YX=XX~YZ 

RETURN 



Power calculation 



REM Routine 2 - This routine is not available 

REM before version 1.0* !•!! 

RETURN 

REM Routine 3 - Colour change 

VDU19,XZ,Ya,0,0,0 

RETURN 

REM Routine 4 - Mode change 

MODE XX 

RETURN 



REM Routine 5 

VDU7 

RETURN 

REM Routine 6 
RETURN 



- Buzz! 



- For future expansion 



Program I 

input, the sound input, or the 
RS423, where characters 
can be stored until the 
processing software is ready 
to deal with them. The 
purpose of this routine then 
is to add extra bytes into 
these buffers. 

The particular buffer is 
selected by the value of X% 
and in this case we have 
chosen the keyboard buffer 
by setting X%=0. 

The value of Y% is the 
Ascii code of the character 
which is to be inserted. Any 
characters which are thus in- 
serted will be dealt with as if 
they had been typed in from 
the keyboard. 



Thus as soon as the 
program itself has finished 
running, the Basic monitor 
looks in the keyboard buffer 
to see if any characters have 



10 0SBYTE=fcFFF4 

20 AX=138 

30 XX=0 

40 YX=78 

50 CALL OSBYTE 

60 YX=69 

70 CALL OSBYTE 

80 YX=87 

90 CALL OSBYTE 
100 YX=13 
110 CALL OSBYTE 



Program IV 



been typed in during the run- 
ning of the program. 

It finds the characters 
which you have put in and 
prints them out on the 
screen, and since the last 
character is a carriage return 
(13), it acts on them. 

If you run this you will see 
that it is an auto-destruct 
program! However you can, 
of course, regain it by typing 
OLD. 



10 *FX138,0,78 
20 »FX138,0,69 
30 *FX138,0,87 
40 tFX138,0,13 



Program V 

If you want to use some of 
the OSBYTE routines with- 
out going into machine code, 
then provided the routines do 
not expect data to be retur- 
ned you can use the *FX 
command. 

If we translate Programs 
II, III and IV using the *FX 
command, they become very 
simple. For example, 
Program II becomes simply 
*FX 0, and Program III 
reduces to *FX 11,1. 

Program V is the equiva- 
lent of Program IV when 
turned into *FX form. As 
you should be able to see by 
comparing Programs IV and 
V, the first parameter after 
the FX is the routine 




May 1983 BBC MICRO USER 45 



From Page 45 

number, that is the contents 
of the accumulator. The next 
two are the X and Y registers 
respectively. 

If no parameter is 
specified in the FX call it is 
assumed to be zero, so if you 
want, for example, to use 
*FX 1 2,0 to restore the auto- 
repeat time to its default 
value you could just say 
*FX12, since the X value is 
then assumed to be zero. 

If you are wanting to use 



10 DIM CODE 100 


20 OSBYTE = &FFF4 


30 PX=C0DE 


40 C 




50 LDA 


* 138 


55 LDX 


# 


60 LDY 


# 78 


70 JSR 


OSBYTE 


80 LDA 


# 138 


85 LDX 


* 


90 LDY 


* 69 


100 JSR 


OSBYTE 


110 LDA 


• 138 


115 LDX 


# o 


120 LDY 


* 87 


130 JSR 


OSBYTE 


140 LDA 


# 138 


145 LDX 


* 


150 LDY 


# 13 


160 JSR OSBYTE 


170 RTS 




180 3 




190 CALL 


CODE 


Program VI 





OSBYTE CALLS from 
within machine code you 
have to use the load im- 
mediate (LDAf) command 
as shown in the example in 
Program VI. Once again, 
this program produces 
exactly the same effect as 
Programs IV and V. 

Exactly what each of the 
OSBYTE calls does is too 
complex to describe here, but 
I have tried to give at least 
some idea of the way in 
which they can be called. 
These commands are sum- 
marised in the User Guide 
pages 418 and 419, and they 
are explained in detail in the 
rest of that chapter. 

The OSWORD routines 
are similar to the OSBYTE 



*FX Call one of the write-only operating system routines. 
♦BASIC Switch back to Basic. 
•CAT Do a catalogue of the current file system. 
•CODE Does anyone know what this one does? 
•EXEC Take a file into the input stream as if it came 
from the keyboard. 

•HELP Give information on what is in the sideways ROM 

sockets. 
•KEY Program a function key. 
•LOAD Load data straight into memory. 
•LINE Does anyone know what this one does? 
•MOTOR Switch cassette motor on or off. 
•OPT Set up various options to do with the filing systems. 
•RUN Load and run a machine code program. 
•ROM Switch to the ROM file system. 
•SAVE Save an area of memory to the file system. 
•SPOOL Send to the file a copy of all that goes to the 

output channel. 
•TAPE Select the tape file system. 



TABLE I - List of operating system commands. These were 
read directly out of the OS I J ROM using a machine code 
monitor. Two of the command names are not mentioned in the 
User Guide, but presumably must do something. 



ones in that they are selected 
by the number placed in the 
accumulator. 

They are different in that 
they transfer more than the 
two bytes of data that can be 
held in the X and Y registers. 
For the OSWORD routines, 
the X and Y registers are 
used to carry the address of 
an area of memory which is 
used to store the data which 
is being transferred into or 
out of the routine. 

This area of memory is 
known as the parameter 
block, and X carries the low 
byte of the address, and Y 
the high byte. 

The example given in 
Program VII shows how this 
works. It involves 
OSWORD routines 4 and 5, 
which are to do with writing 
and reading the interval 
timer. 



•DISK 
♦NET 

•TELESOFT 
•TERMINAL 




TABLE II - These com- 
mands are mentioned in the 
User Guide but are not 
found in the OS ROM since 
they refer to software which 
will have to be put in the 
sideways ROM sockets. 



You may be familiar with 
the TIME command in 
Basic, which uses a 
centisecond clock, and can 
be either written or read 
from Basic. The value of 
TIME is referred to as the 
elapsed time clock, and can 
be accessed by using 
OSWORD routines 1 and 2. 

The interval timer, how- 
ever, is not affected by, and 
does not affect, the value of 
TIME, as this program 
illustrates. The idea is that 
the routine labelled "write" 
from lines 50 to 100 is called 
in order to write zero into the 
interval timer. 

The address of the 
parameter block is &D00, 
and at line 90 at the number 
is written into that area of 
memory. 

When the operating 
system starts into this 
routine it looks in the X and 
Y registers to find where the 
data is stored. 

It then takes that data and 
puts it into the interval timer 
memory locations. 

At line 210 the value of 
TIME is recorded and then 
printed out, and after an ar- 
bitrary waiting time 
produced by asking the user 
for an input at line 230, the 
value of the interval timer is 
read at line 240 by using the 



"read" routine. 

The TIME is again 
recorded and the difference 
between the first value of 
TIME and the second is 
printed out. This can be 



10 DIH CODE 100 

20 0SW0RD=«TF1 

30 PX=C0DE 

40 C 

50 .write 

60 LDX*0 

70 LDY#8c0D 

80 LDA#4 

90 JSR OSWORD 
100 RTS 
110 

120 .read 
130 LDX«0 
140 LDY#*tOD 
150 LDA#3 
160 JSR OSWORD 
170 RTS 
180 1 

190 !8eD00=0 
200 CALL write 
210 TX=TIME 
220 PRINT IX 
230 INPUT WAIT 
240 CALL read 
250 T17.=TIME 
260 PRINT T1X 
270 PRINT T1X-TX 
280 PRINT !&D00 



Program VII 



46 BBC MICRO USER May 1983 



compared with the value of 
the number recorded in 
memory location &D00 
which had been read from 
the interval timer. 

These two should, of 
course, be the same, though 
there is occasionally a 
difference of one 
centisecond. 

As you will have gathered, 
there are various levels at 
which the operating system 
software can be used. 
DRAW, PLOT, SAVE and 
LOAD, for example, all use 
the operating system 
routines, and yet they are 
keywords specific to Basic. 

Any function which deals 
with input or output such as 
the keyboard, vdu, filing 
systems, printers etc uses the 
operating system routines. 
From within Basic, or any 
other language, you need to 
be able to set the operating 
system to do various jobs 
and so instead of adding 
extra commands to the 
language, the common ones 



are made available as what 
are called command lines. 

In Basic these are com- 
mands such as *CAT which 
all begin with an asterisk. 
•LOAD and *SAVE are the 
two which you may well 
have used. 

Again, they are not Basic 
commands, that is they are 
not the same as SAVE and 
LOAD. 

The difference is that they 
allow you to load and save 
data to and from specific 
memory locations, and the 
commands have to be 
followed by data about the 
particular command - 
•SAVE "DATA" 3000 
4000, saves the block of 4k 
of data from &3000 to 
&4000 under the file name 
"DATA". 

Other such commands in- 
clude *SPOOL and *EXEC, 
which are concerned with 
transferring text to and from 
the filing system (tape, disc 
or Econet). 

Whenever a command line 



is encountered — that is, from 
Basic, any line starting with 
an * - it is first passed to the 
operating system to see if it 
is one of the commands 
which it is supposed to 
recognise. A list of these is 
given in Table I. 

If the operating system 
itself does not recognise it it 
compares it with all the com- 
mands available in each of 
the service ROMs in the 
sideways ROM sockets. 

If it cannot find it there it 
looks in the serial ROMs on 
the cartridge input (that is 
the funny looking hole on the 
left hand side of the key- 
board). 

Then finally, if you are on 
disc or Econet, it looks to see 
if there is a file of that name, 
and if there is, it loads and 
executes it before returning 
to Basic at the line following 
the one from which it was 
called. 

Most of the operating 
system commands given in 
Table I are discussed in more 



detail in the User Guide on 
pages 416 and 417. Some of 
them, such as *TV and 
♦OPT, are simply OSBYTE 
routines but with a name 
attached to them rather than 
with just a number - to make 
them easier to use. 

The same effect, for 
example, as *TV 255 can be 
obtained by using OSBYTE 
CALL number 244 followed 
by the number 255, that is 
you would say *FX244, 255. 

(Two routines have been 
discovered by digging 
around in the operating 
system ROM, but so far we 
have no idea what they do, if 
anything!) 

■ 

As you can see, the 
operating system of the BBC 
Micro is very complex. But 
when you consider that there 
must be around 13- 14k of 
machine code routines in the 
operating system ROM, it's 
hardly surprising that it 
takes quite a while to sort 
out how it all works. B 



/ 






electronic monitor manufacturer 

The case has been designed with safety utmost in our minds. 
This advanced model cuts the component count and 
incorporates the most sophisticated parts on the market 
today. Using the MULLARD AX tube, which gives perfect 
colour registration with reliable and stable operation. 
Automatic drift (Black level) compensation adjusts 
" automatically with the ageing of the tube. All this and many 
other features, including years of experience in the data 
display industry and backed up by our 2 year guarantee. 
We guarantee long service and reliability. 

CE 370 A 

R.G.B. 

Includes Lead 

£199.50 + vat 

CE370B 

R.G.B. Composite 
Video and Audio 

£250 + vat 



• Quality. 

• Reliability. 

• Manufactured in Britain 100%. 

• A moulded case with carrying 
handle. 

• Meets British standard safety 
regulations (BS415). 

• Automatic black level 
compensation for tube ageing. 

• Mullard AX37-590x Tube. 

• Power consumption 60w. 

CABEL offers you a new high 
quality 14" colour monitor. 



Dealer enquiries and Education enquiries welcome. 

Cheque/Postal Order, or for fast delivery, ring us with your credit card 
number. 




electronic 



Administration: 
Mount Road, Burntwood, 
Walsall W87 OAX. 
Telex: 339671 ALD FAB. 



Factory: 

Unit 15, Whitegate Industrial Estate, 
Whitegate Road, Wrexham LL1 1 1AY. 
Tel: 0978 350345 



Sa/es Office: 
Lloyds Bank Chambers, 
The High Street, 
Tewkesbury, Gloucestershire, 

Tel: 0684 298840 



May 1983 BBC MICRO USER 47 



Part Three of MIKE BIBBY'S 
introduction to programming 



WE saw last month how to write our 
own programs, however primitive. 
Now well look at some ways of 
improving them. I don't guarantee that 
you'll be able to produce spectacular 
programs by the end of this article, but 
you will certainly be well on the way to 
an understanding of Basic. 

First, though, let's recap a little: We 
saw last month that a Basic program 
consists of a numbered sequence of in- 
structions to the computer. 

To enter one of these instructions we 
simply type the correct line number, 
followed by the appropriate Basic key- 
word, then press Return. 

As we discovered, because of the line 
number, the BBC Micro doesn't do 
what you tell it immediately, but 
remembers it as part of the program. 
To see all the instructions in a 
program, we type: 

LIST [Return] 
To actually get the BBC Micro to 
carry out the sequence of instructions 
we type: 

RUN [Return] 
To clear a program from memory 
(and we should do this before entering 
a new program), we use: 

NEW [Return] 
We saw that we tended to enter line 
numbers in steps of 10 to allow us to fit 
in other instructions between them if 
necessary. Also we found that we could 
replace a line with a better version by 
simply giving the new version the line 
number of the old one. 

Finally, to delete a line completely, 
we simply type the line number and 
press Return. 

Program I is the one we started with 
last month. Before we continue, type it 
in and run ft, to make sure you know 
what's going on: 



10 PRINT "PROGRArtHING* 
20 PRINT 'IS' 
30 PRINT "EASY" 



String along 



Program II is another way of achiev 



48 BBC MICRO USER May 1983 



ing exactly the same output. Type it in 
and try it: 

10 A$= "PROGRAMMING" 

20 B$ = "IS" 

30 C$ = "EASY" 

40 PRINT AS 

50 PRINT BS 

60 PRINT C$ 

Apart from its being an incredibly 

long-winded way of doing things, what 

else is going on? 

Well, as you will recall from the first 

article in this series, the words inside 

quotes are known as strings - because 

the computer simply remembers them 

as strings. That is, it considers 

HAMSTER as H, followed by A, 

followed by M and so on, with no idea 

of the word's meaning. 

I don't think that it takes all that 

much imagination to see that when 

your computer is printing a lot of 

output, you might be using the same 

string rather a lot. 

For example, in a business letter you 

might use the name of the company 

fairly frequently - for example, BBC 

for British Broadcasting Corporation. 

The BBC Micro's Basic allows us to 

use much the same idea, but more as 

labels than abbreviations. 

For instance, in line 10 of the above 

program we have labelled the string 

"PROGRAMMING" with the label 
A$. 

In computer terms, we have assigned 
to AS the value "PROGRAMMING". 

All this means is that from now on 
wherever I want to use "PROGRAM- 
MING" in my program, I can replace 
it with AS. So line 40, which is 

40 PRINT AS 
causes the micro to print out 
"PROGRAMMING". 

Admittedly in this example this 
technique of labelling doesn't save 
much space or effort, but if the 
program uses the word "PROGRAM- 
MING" 100 times, there would be a 
substantial saving in using AS instead 
of the string itself. 

Similarly, line 20 causes BS to label 
"IS" and line 30 labels "EASY" with 



1 f 






and 
pick 

up 



some 



C$, so that lines 50 and 60 give the 
appropriate printout. 

Notice the following points: 

• We have chosen our labels so that 
they consist of a letter of the alphabet 
followed by the "$" sign. Actually, we 
don't have to restrict ourselves to just 
one letter, as we shall see, but our label 
must end with the "$" sign, since this 
warns the computer that we are labell- 
ing a string. (We'll see later how to 
label other things.) 

• While I used AS for the first label, 
BS for the second and C$ for the third, 
this was totally arbitrary on my part - 
labels don't have to follow alphabetic 
or any other kind of order. 

• Although we use an equals sign 
("=") to connect the label with what it 
is labelling, it is safer, as we shall see, 
not to think of it as an equals sign - 
think in terms of AS becomes 
"PROGRAMMING" rather than AS 
equals "PROGRAMMING". 

• We must have the label on the left 
and what is labelled on the right of the 
equals sign. A line such as: 

10 "PROGRAMMING" = AS 
just does not make sense to the BBC 



mmm 




handy jargon 



Micro. Try it for yourself! 
• When labelling we put the string 
inside quotes, as we did previously 
when using the PRINT statement to 
print out strings. So line 10 reads: 
10 AS = "PROGRAMMING" 

From now on AS completely 
replaces "PROGRAMMING", quotes 
and all, so that when we say 

PRINT AS 
we don't have to use any quotes - 
they're already there, implicit in the 
label AS. 

Now when we label a string the label 
refers to whatever is inside the quotes, 
including spaces, as you will see if you 
run Program III: 

10 REM *** PROGRAM III *** 
20 MODE 6 
30 AS = "TEST" 
40 BS = " TEST" 
50 C$ = " TEST" 
60 D$ = " TEST" 
70 PRINT AS'BS'CS'DS* 
80 PRINT A$;B$;C$;D$ 
90 PRINT "01234567890123456789 
0123456789" 

Notice that our punctuation, 
semicolons and apostrophes, works for 



labelled strings just as it worked on its 
own. 

Notice also that we have introduced 
a new Basic keyword in line 10 - 
REM. We use REM for REMark, 
which is short to add comments or 
headings to our programs. 

When the BBC Micro encounters 
REM in a line it ignores everything else 
after it on the same line. This means we 
can write whatever we want after REM 
(providing it is on the same line) with- 
out fear of the micro giving us an error 
message - the BBC Micro doesn't 
"read" the line beyond the REM. 

If we use REM to prefix our com- 
ments on the program we can annotate 
our program. Certainly each main sub- 
division should have one or more REM 
statements explaining what is going on. 

Since the BBC Micro ignores the 
contents of REM statements, you 
could leave them out of your program 
entirely and it will work as effectively. 
However it is good programming 
practice to include them. 

In the example below I have used a 
single REM at the beginning of the 
program, as it is so short. Bear in mind 



however, that REM can appear on any 
line in a program. 

Now for some jargon. From now on 
we shall refer to our labels as variables. 
Don't be put off by the mathematical 
sound of that - they are still just labels! 
And instead of saying we are labelling, 
we say we are assigning, as we have 
mentioned previously. The actual string 
involved is known as the value of the 
variable. So 

AS = "TEST" 
reads "the string variable AS has assig- 
ned to it the value TEST'". The actual 
act of giving a variable a value is called 
an assignment. 

To return to the world of actual 
programs, you can mix and match 
string variables and actual strings how- 
ever you want. Program IV illustrates 
the point: 

10 REM ***PROGRAM IV*** 

20 MODE 6 

30 AS = "MY NAME IS" 

40 B$ = " MIKE" 

50 PRINT AS; BS 

60 PRINT "MY NAME IS"; BS 

70 PRINT AS; " MIKE" 

Notice the space of the beginning of 
the string assigned to B$ - you need 
this otherwise the output looks rather 
odd. Leave it out if you don't believe 
me! 

As we saw last month, a semi-colon 
at the end of a line causes the next 
output to start immediately after the 
last and not on a new line - as it would 
do in the absence of the semi-colon. 
That is, it "glues" the strings together. 

The internal semi-colons of lines 50, 
60 and 70 do much of the same, 
"gluing" varables to strings, etc. 

While this is grammatically correct 
Basic, the BBC Micro assumes (unless 
you tell it otherwise) that variables and 
strings mentioned in the same PRINT 
statement are meant to be output con- 
tinuously on the same line. To prove 
this run Program IV omitting all the 
semi-colons. 

Also, while we're on the subject of 

grammatical propriety, when we're 

assigning variables we should use the 

LET statement. So line 40 should read 

40 LET BS = "MIKE 

As you're already discovered, we 
can omit LET altogether. 
• Next month, more on variables and 
INPUT - which opens the door to 
effective programming. ^ 






May 1983 BBC MICRO USER 49 



THE User Guide contains some 
suggestions for using the function keys. 
What they amount to is to set up keys 
to change to MODE7 and LIST the 
program, to enter OLD and then RUN, 
and finally, to print the contents of part 
of memory (Page 411). 

Now many other features spring to 
mind as being suitable for the function 
keys. Clearly not much advantage is 
gained from using them as shorthand 
for keywords, since there are already 
comprehensive abbreviation facilities, 
such as P. and N. So here is a brief 
description of some areas that seem 
"functionable", starting with two useful 
BBC functions, EVAL and ("Hex"). 

Designed with the object of allowing 
a user to enter a whole expression while 
a program is running, that is, to show 
different graphical representations of 
various functions, EVAL can be used 
in a function key to convert the com- 
puter into a simple calculator. 

The key is set up to accept input of a 
string expression from the user, which 
is then EVALuated and printed. In- 
stead of having to type a PRINT com- 
mand, the user merely types, for 
example: 

34*PI*2.3t2 
or 

SIN(RAD(57.3)) 

Further, since the EVAL function 

also understands hex input, the facility 

provides a means of converting hex to 

decimal. All the user does is to type: 

&300 

which will be evaluated to its decimal 
equivalent 

The reverse process, that of obtain- 
ing hex from decimal, is readily 
achieved by use of the ^ command, 
which appears to be wholly undocu- 
mented in the User Guide, although it 
is used without explanation in the 
assembler section. Thus, if a function 
key is set up to PRINT ~N, where N is 
input by the user, the dec to hex facility 
is instantly available. 

The memory map is set out on Pages 
500 and 501 of the Guide. To find the 
length of your program, subtract 
PAGE from LOMEM. The space left is 
the gap between LOMEM and 
HIMEM. The function keys can 
readily be set up to show all or part of 
the memory usage, at the touch of a 
key. 

One of the poorly documented 
features of the Guide is how to get your 
printer to function properly. It is 
common knowledge that some printers 



Make the most 
of those 

function keys 



need to have auto-feed set, others do 
not. Further, special control characters 
may need to be sent to select different 
printing fonts. 

So far as the Epson printer is con- 
cerned, the auto-feed requirement is 
met by the *FX6,0 command. Control 
characters can be sent using the 
VDUl^i command (where n is the 
Ascii control character). Multiple con- 
trol characters can be sent using 
VDUl,n,l,m. 

It seems logical then to include 
printer set-up commands in the func- 
tion keys. 

In order to get paged listing, rather 
than scrolled listing, the control 
character N has to be sent before the 
LIST (and after any MODE change). 
The two different commands can be in- 
cluded in the function keys. 

The short set-up program shows 
examples of the above. The key se- 
quence is as follows: 

KEY 0: Turn printer off. 

KEY 1: Turn printer on. 

KEY 2: Printer width 75, normal font. 

KEY 3: Printer width 135, condensed 

font. 
KEY 4: Calculator (including hex to 

dec). 
KEY 5: Dec to hex 
KEY 6: Prog size. 
KEY 7: 

KEY 8: Paged LIST 
KEY 9: Scrolled LIST 

Although it doesn't say so in the 
Guide (it appears that BBC hitch- 
hikers are expected to fall into the 
occasional dark hole as they progress 
through the galaxy), there is a memory 
limit to the function keys. 

If you try and cram too much into 
the key definitions you will get a 
mysterious BAD KEY error message. 
This may have nothing to do with your 
lack of programming skill, but simply 
mean that you have gone over the 
memory allocation for the keys. 

The sample program is about the 



maximum length allowed. By getting 
rid of spaces you could get more in, no 
doubt. 

Further, depression of the key prints 
out the key definition on the screen 
before the key is executed. This means 
that a lengthy definition may have to 
start with a CLS to clear away un- 
wanted printout. 

In the end it is all a matter of your 
own ingenuity and particular program- 
ming requirements. You might want to 
program the keys to call pre-loaded 
machine code routines, or print out the 
time and date, or provide extensive 
renumbering facilities. Over to you! 



10 


•KEY0IH 


20 


*KEYUH 


30 


♦KEY2IH 


40 


*KEY3!H 


50 


*KEY4iH 


60 


•KEY5IH 


70 


»KEY6!H 


80 


»KEY7!H 


90 


•KEY8IH 


100 


tKEY9!H 


110 


REM PRINTER KEYS 0=OFF i=0N 


2=N0RHAL/75 3=CQNDENSED/13S 


120 


*KEY0 iC 


130 


tKEYl !B 


140 


♦KEY2 WIDTH 75: VDU1.18: 


•fW.C 


I in 


150 


*KEY3 WIDTH 135: VDU1.15: 


♦FX6.0 


!N 


160 


REH SIMPLE CALCULATOR FACILITY 


170 


«EY4 CLS: P.": REPEAT INPUT 


"EXPRESSION "F$:P. ;EVAL(F$) : UNTIL 


FALSE 


!H 


180 


REN DEC TO HEX 


190 


•KEY5 CLS:P.":REPEAT INPUT "DE 


CIHAL 


"Ft:P.;*VAL(F$):UNTIL FALSE IN 


200 


REH PR06RAH SIZE 


210 


§KEY6 CLS:P."L0HEH-PA6E IH 


220 


REH PA6ED NODE 7 LIST 


230 


*KEY8 H0DE 7 IH IN LIST IH 


240 


REH H0DE 7 LIST 


250 


tKEY9 H0DE 7 IH LIST IN 



50 BBC MICRO USER May 1983 




'*7/> 



THIS month's contest should prove a worthy 
test of your programming abilities. And we've 
a prize that should certainly speed up your 
future programming — a high quality Cumana 
disc drive with its own independent power 
supply. 

With it comes a book that strips the mystery off 
how drives work, and takes you on a complete guided 
tour of the BBC's Disk Filing System (DFS). 

Now for the competition itself • • ■ 

Sean Overend's article on the opposite page tells 

••••••••••••••• 

Leeds render wins 

colour monitor 



WE had many hundreds of 
entries for our first competition 
in the March issue of BBC 
Micro User, and while only a 
handful managed to recreate the 
original photograph, most 
entries were very close indeed — 
close enough to give Percival a 
headache sorting them outl 

Programming was to an 
extremely high standard, and it 
was obvious that many of you 
had gone to a great deal of 
trouble. 

Perhaps the most remark- 
able aspect was the large variety 
of execution times - the longest 
took just under an hourl 

Eventual winner was Stuart 
Stoney of Leeds, and the superb 
Microvitec monitor presented 
by Silicon Express is on its way 
to him. 

Those who didn't manage to 



crack the program will be glad 
to know that Percival has found 
his original. (He actually tried 
to sneak it into the competition 
but the editor spotted it) We 
present it here with no explana- 
tion, as he's forgotten how it 
works. 



* 
* 

• 



One 40-track 100k 
Cumana disc drive, value 
£199. 

One connecting cable to 
link the drive to your BBC 
Micro. 

One copy of "Using Floppy 
Disks with the BBC 
Microcomputer. 



99 



- They all go to the winner 
of this challenging contest. 

you what we mean by a program that sets up the 
User Defined Function Keys. Every programmer 
seems to have his personal way of setting up the keys 
- Paul Leman details his in the Mode 7 article on 
Page 18. 

All you have to do is to present us with your 
program to set up the function keys - the most 
original and creative program wins! 

Send us your entries on cassette, accompanied by a 
listing - with your name and address clearly marked 
on both - before June 30. (If you want your cassette 
returning please enclose a stamped addressed 
envelope, otherwise we shall donate it to a school.) 

Each entry must include the entry form printed 
below - or a copy of it. 



10 


RX=300 


20 


DIMXUOO) 9 Y(100> 


30 


M0DElsVDU19,0 t 4|0| 


40 


VDU 29,64O|512;iM0VE 




R7. f O 


50 


FOR IX-O TO lOO 


60 


Z-2*PI»IX/100 


70 


X ( IX) =RZ*COSZ i Y < IX> - 




RX*SIN Z 


80 


NEXT 


90 


FOR A-O TO PI STEP 0.1 


100 


ANGLE=COS A 


no 


FOR IX-1 TO lOO 


120 


DRAW X<XX> ,Y<r/.)*ANGLE 


130 


GCOLO, I7.MOD3+1 


140 


NEXT 


ISO 


NEXT 




rYour FREE entry form— 

My cassette and listing for the BBC disc drive 
competition is enclosed, plus a stamped 
addressed envelope for its return. 



*************** 



Name .. 
Address 



Tel: No. 



POST TO: Disc Contest BBC Micro User, 
Europa House, 68 Chester Road, Hazel Grove, 
{Stockport SK7 5NY. 



I 
I 

! 

I 

I 
I 
I 
I 
I 
I 
I 
I 
I 

I 



May 1983 BBC MICRO USER 51 



A fast and furious 
arcade game by 
Jonathan McFarlane 






" . "<■ 





i-.".- 



HOVERING over the mountains of 
the enemy planet, a ship appears on the 
horizon. Move in, line up your sights 
and (ire . . . 

Air Strike is an arcade-style game 
for the 32k BBC machine. The aim of 
the game is to shoot as many aliens as 
possible before they get you. 

There are four different types of 
nasties, two on the ground firing up at 
you and two airborne. A description of 
them and how they attack is given in 
the instructions along with directions 
for movement of your craft. 

There are three levels of play (1 
being the hardest and 3 the easiest) to 









* 







■ + 



I I 



Fly low and fast 
to zap the aliens 



-:/w. 






•v 



•V - 



>_« 






t.M 



.*• 



% 










■ -m,: 



52 BBC MICRO USER May 1983 



choose from, after which a short tune is 
played and the screen is set up. On 
level one your spaceship is more 
difficult to control and the aliens 
approach more rapidly, firing more 
accurately and more often. A bonus 
ship is awarded for every 1000 points 
scored. 

The game ends when you lose all 
your lives, but if your score is high 
enough you can enter your name in the 
top five high score table. During the 
game your score, ships remaining and 
the high score are displayed and 
updated whenever necessary. The game 
incorporates realistic sound effects, 

p graphics, colour and explosions. 

A few hints and believe us. you'll 
need them: 
D Stick to level 3 until you master the 

| controls, because level 1 requires the 



quickest of reflexes and a lot of skill. 

□ Try to keep low, in order to dodge 
flak and missiles fired at you from 
ground bases. 

□ Don't get too near the top or 
bottom, as you might explode. 

□ Don't go too fast as you could lose 
control of the craft and crash. 

□ On level 1. avoid the mother ship, 
which is deadly. 

The program calls two main 
routines, one to move your ship and 
one to move the alien, which in their 
turn call other procedures to do such 
things as check for crashes and update 
scores. 

The program uses integer variables - 
the ones followed by a % sign - to 
speed up the program. For the same 
reason multi-statement lines and proce- 
dures are used. 

Note that BBC owners with the disc 
interface might find that they do not 
have enough memory to type in the 
program. This should be remedied by 
leaving out all unnecessary spaces. 



w*'* - 




REN AIR STRIKE HK VII 

1 REN Jon NcFarlane 1983 

2 ONERRORPROCCOL ( 2 ) : CLS : VDU4 : G0T07 

3 DINN*(5),HHZ(5>:F0RNZ=1T05:NI(NZ)= 
"Been 3':HHZ(NZ)=100:NEXT 

4 VDU23, 230, 0,64, 96, 112, 127,63, 31,0, 
23,231,0,0,96,144,248,255,248,0,23,232,0 
,7,63,114,114,63,7,0,23,233,0,224,252,78 
,78,252,224,0,23,234,129,66,36,24,24,36, 
66,129,23,236,0,16,16,16,248,172,252,252 
,23,237,0,0,0,49,25,13,7,3 

5 HODE1:VDU23 I 238,0,0,0,140,152,176, 
224,192,23,239,219,219,126,126,60,60,60, 
24,23,235,0,0,64,64,67,66,67,67,23,226,8 
5,170,B5,170,85,170,85,170:ENVELOPEt,l,l 
,-1,1,1,1,1,126,0,0,-5,100,0 

6 A*=CHRI230*CHRt23 1 : B*=CHR*232tCHRt 
233:W=CHRt234:ENVEL0PE2, 10,0,0,0,10,10, 
10,126,-5,-5,-5,ll0,0:ENVEL0PE3,7, -10,20 
,-10,1,1, 1,0,0,0, -127,100,0:BBX=-10:AAX= 


7 VDU23;8202; 0;0; 0; : PROCIHST 

8 BSZ*0: ASZ=0: SZ=0: AZ»50: BZ»500: TZ-0 
9LM=3sVDU4:PR0CC0L(7):C0L0UR130:C 

0L0UR0:CLS: INPUT Which level (1 

-3)\LEVZ:CLSiIFLEVZ<lORLEVZ>3THEN9 

10 PR0CTUNE:VDU5:0NLEVZ6OSUB96,97,98 

11 V0U23; 8202; 0; 0; 0; : PR0CTERR 

12 R=RND(4):0NR 60SUB27,28,29,30 

13 BONZ=RND(10l:IFB0NZ=lPRINTTAB<0,3) 
"Double points" ":BQNZ=2 ELSEIFB0NZ=3 

PRINTTAB (0,3) "Hvster y poi nts ! ! • : B0NZ» 
RND(4)ELSE B0NX=1 

14 6G0L4,3:H0VEAZ,BZ:PRINTA*!lFR<3 
H0VECZ.DZ 

15 IFR=2PRINTB*:SOUND3,1,20,255ELSEIF 
R=1PRINTCI:S0UND3,3, 100,255 

16 60T019 

17 IF AL=060T036 

18 G0T016 

19 6C0l4,0:H0VEAZ,BZ:PRINTAf: IFINKEY 
<-66)BSZ»BSZ+lELSEIFINKEY(-98)BSZ»BSX-l 
ELSE IFINKEY (-1)ASX»ASZ*6 

20 IFASZ>90 ASZ=90 ELSEIFASZ<HSZ ASZ= 
HSZ 

21 IFBSZM0 BSZ=10 ELSEIFBSZ<-20 BSZ* 
-20 

22 BI=BZ+BSZ:AZ=AZ»ASZ:ASZ«ASZ-1 

23 IFAX>=1250THEN11ELSEIFBI<=00RBX>=1 
000 THEM60 ELSEIFAX>1250THENNI*31:60T017 

24 6C0l4,3:HQVEAI,BX:PRINTA*s IFINKEY 
(-74J60T032 

25 IFAX<CX+32ANDAZ>CZ ANDBZ-16<DZ AND 
BZ-16>DZ-32 THEN60 

26 60T017 

27 CZM200:DZ=RND 1500) +100: RETURN 

28 CZ= 1 200 : 0Z=RN0 ( 500 )« 1 00 : RETURN 

29 60SUB31:H0VECZ,DZ:PRlNTCHRf235; 
CHR»236: RETURN 



May 1983 BBC MICRO USER 53 











94 *FX15,0 




^f/TcifWfiJi 






30 60SUB3iiH0VECX,DZ:PRINTCHR*237t 


63 VDU4, 19, 0,7, 0,0, 0,19, 3, 0,0, 0,0 


CHR$238: RETURN 


64 LIVZ=UVZ-li IFLIVZ>0THEN110ELSELZ* 


95 S0UND0,2,4,50:F0RNZ«1T050:H0VECZ* 


31 C2=l 1 10: DI=X+33: 6C0L0, 1 : RETURN 





16,BZ-16:DRANRND(1280),RND(1024):NEXT: 


32 H0VEAZ+64,BZ-16:6C0L4,3:DRlW1280, 


65 COL0UR0:PR0CCOL(8)jCLS:COL0URl:PRI 


60T063 


BX-16:S0UND1,-15,200,1:S0UND2, -15,205,1: 


NT'"TAB<9>j"Air Strike Hi -scores.": COLO 


96HSZM0:CRZ=25:FRZ=3:PTZ»20:RETURN 


GCQL4 , 0: DRAMAI+64 , BZ-16: IFBZ-16< DZ AND 


UR3: PRINT ' ' : F0RNZ=1T05: IFNZ=LZCQL0UR2ELS 


97HSZ»15:CRZ«15:FRZ»B:PTZ*10iRETURN 


BZ-16>DZ-32 ANDAZ<=CZ THEH33ELSE60T017 


EC0L0UR3 


98 HSZ»10:CRZ«10iFRZ=10:PTZs5: RETURN 


33 IFAL=iENDPROC 


66 PRINTNZ;")";NI(NZ);'...."sHHZ(NZ)' 


99 TIHE«0iREPEATUNTILTIHE=100:AZ»50: 


34 «FX15 


« NEXT 


BZ=500:PRINTTAB(6+LIVZt2,i»j" ":VDU5: 


35 PR0CSCjPR0CEXP:60TQ17 


67 IFSX>*HHZ(5)60T084 


60T011 


36 ON R 601040,37,46,44 


68 C0L0UR1:PR1NT"TAB(9) 'Press S to t 


100DEFPR0CC0L{ZZhVDU20,19,2,ZZ,0,0,0 


37 6C0L4,0:H0VECZ,DZ:PRIHTB*:CZ=CZ- 


tart. ":REPEATUNTIL6ETf ="S":60T08 


: ENDPROC 


CRZi IFDKBI DZ»DZ+CRZ ELSE DZ*DZ-CRZ 


69 DEFPROCEXP 


101 DEFPROCNH:PR0CCQL(9):COLOUR2':VDU4: 


38 6C0L4,3:H0VECZ,DZ:PRINTB«:IFRND(FR 


70 H0VECZ,DX:6C0L0,1:AL«1 


TZ«TZ-1000:PRINTTAB(10,12)"EXTRA SHIP BO 


Zl'l AND CZ>AZ THENPROCAFIRE 


71 IFR=1PRINT«ELSEIFR-2PRINTB$ELSEIF 


NUS':LIVI=LIVX+1.'F0RNZ=1T03:S0UND3,-15,2 


39 60T016 


R*3VDU235 , 236ELSEVDU237 , 238 


50,I0:TIHE=0:REPEATUNTILTIHE*100:NEXT:EN 


40 6C0L4, 0: HOVECZ, DZ: PRINTC*: IFCZ<AZ 


72 S0UND0,2,5,50tF0RH2Z«lT03:VDU19,l, 


DPROC 


THENCZ=CZ+CRZ ELSEIFCZ>AZTHENCZ=CZ-CRZ 


H2Z; 0; j 0; : T INE=0 : REPEATUNT I LT INE >2: NEXT 


102 DEFPROCSL:PRINTA«{"*"jLIVZ-2{:ENDP 


41 IFOZ>BZ DZ=DZ~CRZ ELSEIFDZ<BZ DZ= 


: HOVECZ , DZ: GCOLO ,0: IFR«1PRINTC*ELSEIFR»2 


ROC 


DZ+CRZ 


PRINTB*£LSEIFR=3VDU235,236ELSEVDU237,23B 


103 DEFPR0CINST:PR0CC0L(6):C0L0UR130:C 


42 6C0L4,3:H0VECZ,DZ:PRINTCt:IFCZ<AZ 


73 6C0L0,i:vDU19,l,l,0,0,0 


0L0UR0:CLS 


+100 AND CZ>AZ-100 AND DZ<BZ+100 AND DZ> 


74 F0RHZ=3T00STEP-l:BCOL0,NZ:HOVECZ-5 


104 PR1NT'TABU5)|"AIR STRIKE":PRINT" 


BZ-100 THEN 94 


O,DZ:DRAHCZ+50,DZ:H0VEDZ-5O,CZ:DRANDZ+50 


You have three ships. Z aoves you dom," 


43 60T016 


,CZ: HOVECZ-50, DZ-50: DRANCZ+50, DZ+50: HOVE 


'"A toves you up, press SHIFT to acceltra 


44 IFBZ<DZTNEN60T016 


CZ-50 , DZ+50 : DRANCZ+50 , DZ-50: HOVECZ , DZ+5 


te":PRINT"and RETURN to fire."""You can 


45 NOVEAAX , BBXt V0U226: AAI«RND ( 1280) : 


0:DRAHCZ,DZ-50:NEXT 


eove through the fountains " "nithout e 


H0VEAAX,BX:VDU226:BBX=BX: IFAAX-16<AZ AND 


75 CZ=0:DZ=0: ENDPROC 


xploding,but do not go too far' 


AAX-16>AX-32 THEN60ELSE60T016 


76 DEFPROCAFIRE 


105 PRINT' "up or down. Level 3 if the e 


46 IFDZ<BZ ANDRND(5)'1THEN48 


77 K0VECZ l DZ-16:6C0L4,3iDRAH0,DZ-16: 


asiest," "level 1 the hardest. There are 


47 60T016 


S0UNDi,-15,255 I l:S0UND2,-15 l 25O 1 l:BCOL4, 


■ore" "points to be gained in level 1 


48 RSZ=RND<1401:H0VECZ,DZ:GC0L4,3: 


0: DRAUCZ,DZ-16: IFDZ-16<BZ ANDDZ-16>BZ-32 


than in"'"the other leveIs.""Prm 'S 


DRABAZtRSZ,BZ:S0UNDl,-15,255,l:S0UND2, 


THEN78ELSEENDPR0C 


' to continue. Press <ESCAPE> to ret 


-15,250, 1:6C0L4,0: DRANCZ,DZ: IFRSZ<65THEN 


78 80TQ60 


urn to this page." 


60 


79 DEFPROCSC 


106 REPEATUNT I LBETf »"S " 


49 &0T016 


80 PZ*SZ 


107 CLS: PRINT "Alj" Your ship.""B*;" 


50 DEFPROCTERR 


81 IFR»1SZ*SZ*PTZ*B0NZ ELSEIFR=2 SZ« 


Alien ship. Moves about and fires" "at 


51 VDU19,2,2,0,0,0:tFX15 


SZ+PTZt2tB0NZ ELSEIFR«=3 SZ«SZ+40§B0NZ 


you.""C*;' Death satellite. Moves in c 


52 AAX=0:BBX=-10 


ELSESZ=SZ+30»B0NZ 


lose and" "explodes. ""CHRI235$CHR$236" 


53 IFTZ>995PR0CNH 


82 TZ»TZtSZ-PZ 


Radar base. Fires accurate ■issiles"" 


54 VDU4:PR0CC0L<2):CLS:C0L0UR3:PRINTT 


83 VDU4:PRINTTAB(6,l)jSZ:VDU5:EN0PR0C 


at overhead ships. " 'CHRl237jCHR$238; 


ABIO.Dj'Scor^'jSZ;' "j 


84 *FX15,0 


108 PRINT;" AA gun. Fires flak at over 


55 IFLIVZ>3PR0CSL ELSEPRINTSTRIN6*(LI 


85PRINT"TAB(15)j"Hi-score!!" 


head ships. ":PRINT"Pre« S to start. ";:R 


VZ-l,CHR$230+CHR*231f '); 


86 PRINT"TAB(3))iINPUT'Please enter 


EPEATUNTILGET*«"S" 


56 PRINT" 's-Hi-scare-'^Zll);" "|H 


your naee ",AAI:IFLEN(AAI)>4THENAA«=LEFT 


109 ENDPROC 


S(1):VDU5:NOVEO,0:6COLO,2:FORHZ=OT01100S 


$(AA*,4>ELSEIFLENAAf<4REPEAT:AAI=AA*f " 


110 REPEATUNT I LADVAL (-5) =15: AX=50: IFBZ 


TEP100:X=RND(10)*32-2:DRANHZ,X:NEXT:D8AN 


:UNTILLENAA$M 


<100 BZ-200 


1200.X 


87 AA*«AA$t" ■♦STRf(LEVZ) 


HI GOTO 11 


57 DRAN1300,RND(10)#32-2:AL=0:IFAX>10 


88LZ«0:REPEAT:LZ=LZ+1:UNTILHHZU.Z)<» 


112 DEFPRDCTUNE: PRINTTAB( 15, 15) ; " READ 


00THENAZ=10 ELSEIFAZ<10AZ=1200 


SZ0RLZ»5 


Y !!" 


58 ENDPROC 


89 IFLX=AG0T093 


113 L0CALNZ,AZ:REST0RE115:F0RNZ=1T013: 


59 IFBZ<=0BZ=10 ELSEIFBZMOOO BZ=990 


90HZ=6»REPEAT:HZ=HZ-1«HHZ<HZ)*HHZ(HZ 


READAZ:S0UNDl,-15,AZ,3:S0UND2,-15,AZ-48, 


60 #FX15,0 


-l):N4(HZ)xN$(HZ-l):UNTILHZ>LZ 


3:NEXT:S0UN01,-15,101,7:S0UND2 I -1S,53,7 


61 S0UND0,2,4,50 


91 N$(LZ)=AA$:HHZ(LZ)=SZ:SZ=0:60TQ65 


114 PRINT"TAB<15);"Herc tte go....':TI 


i2 VDU19,0,8,0,0,0,19,3,0,0,0,0:GCQLO 


92 IFHIDI(AA$,6,1)<HID*(NI(5),6 1 1)LZ= 


HE=0:REPEATUNTILTIHE>100:ENDPR0C 


, 1 : F RNZ = 1 T 050 : H VE A Z+ 32 , BZ- 1 b : DR AHRN D ( 1 


4:S0T090 


115 DATA101, 117,129,117,109, 121, 137, 12 


280),RND(1024)iNEXT 


93 SZ=0sG0T065 


1,101,117,129,117,101 f] 



54 BBC MICRO USER May 1983 



BOOKS 



** 



^^^^^^H 




^^^^h 



Nice line 
in deduction 
Mr Holmes 



9 




AS a Sherlock Holmes fan of 
long standing I have been 
amazed at the number of 
trunks that have turned up 
recently containing pre- 
viously unpublished memoirs 
of the great detective. 

Dr Watson must have had 
a full time job in his declining 
years just hiding the things! 
And how he arranged for 
them to be discovered after 
the copyright expired baffles 
me. 

Most of the trunks would 
have been better off un- 
discovered, but here, to my 
joy, is a book that pleases me 
both as a Holmes 



Elementary Basic — Teach yourself Basic by solving 
the mysteries of Sherlock Holmes. Henry Ledgard 
and Andrew Singer. 



afficionado and as a micro 
nut. 

Elementary Basic is really 
two books in one. At one 
level it is a collection of some 
of Holmes' less remarkable 
cases, the only points of in- 
terest being supplied by his 
ingenious use of Mr Bab- 
bage's analytical engine in 
the science of detection. 

Additional to these 
accounts are short essays on 
how Holmes communicated 
with the engine by means of 



■"""■' ■ ' ■ ■■■■ ■■■ ■ ■■■*—■■ — 

a language called - you've 
guessed it - Basic. 

Both parts of the book 
work remarkably well. The 
efforts of Holmes to explain 
algorithms and Basic to the 
brilliantly obtuse Watson are 
supplemented by short, lucid 
essays on the aspects of 
Basic Holmes has raised. 

To me these essays are the 
best part of a very good 
book. 

They are concise, clear 
and thought-provoking, 



giving an insight into the 
structure and purpose of 
Basic without being specific 
to any one machine. 

The example algorithms 
and programs are at times 
almost beautifully logical. 

All in all a book that was 
a joy to read. Not just 
another "Basic, how to" 
book, but a lively and 
entertaining introduction to 
Basic in particular and good 
programming in general. 

So good, in fact, that I will 
forgive it one basic ele- 
mentary error. Holmes never 
actually said "Elementary, 
my dear Watson". 



Assembling from the ground up 



BBC Microcomputer Basic includes 
many powerful features, not least of 
which is a fully integrated assembly 
language system for use in developing 
6502 machine code. 

For those familiar with other more 
conventional assemblers, note that 
"fully integrated" means that the Basic 
interpreter is used during assembly to 
evaluate instructions such as LDA 
100*SIN(Angle*PI/180). 

Unfortunately the User Guide from 
Acorn provides little guidance on the 
use of assembler, being aimed at the 
user with prior experience of 6502 
machine code, and a book to fill this 
gap was much needed. 

Ian Birnbaum says his book is 
written for those familiar with Basic 
but new to assembler, and is a suitable 
basis for use in a structured course on 



Assembly Language Programming for 
the BBC Microcomputer by Ian 
Birnbaum, 305 pages, £8.95. 
Macmillan Press, 1982. 



the subject. 

Chapter 1 outlines how a computer 
interprets machine code commands, 
and introduces the concept of an 
assembly language using mnenomics 
(such as keywords). It then discusses 
the role of assembler v high level com- 
piled or interpreted languages. 

Chapters 2 to 9 are in the form of a 
series of tasks to be addressed in 
assembler, with each statement type 
explained as the need arises. 

Useful routines are developed, and 
there are exercises for the reader at the 
end of each chapter, with a full set of 



solutions at the back. 

Chapter 10 comprises the listings 
and documentation for six utility 
programs, including a very useful 
machine code monitor program to 
assist debugging of machine code 
programs, and a very fast program 
which searches memory and reports 
where a given Ascii, machine code or 
numeric sequence is in memory. 

Appendices are used to provide a 
quick reference to the 6502 instruction 
set, a discussion of indexed indirect 
addressing (for which no application 
arose in the main text), linking BBC 
computer programs, user port applica- 
tions, the zero page and operating 
system differences. 

AD supported features of the BBC 
assembler are covered, except the new 



May 1983 BBC MICRO USER 55 



BOOKS 



From Page 55 

facilities (such as Macros) which are 
present in the Basic II chip, revealed 
too late for this book. 

The programs developed in the book 
are also available on two cassettes 
priced at £9 each or £16 the pair, a nice 
marketing touch being that each 
cassette contains two further interest- 
ing routines which are not in the book, 
so why bother typing? 

I believe that Ian Birnbaum's book 
will prove to be of great value to those 
who wish to teach or learn assembler 



for use on the BBC Micro "from the 
ground up". 

The book is organised in application- 
oriented format and therefore more 
likely to hold the attention of a student. 

Unfortunately there is no detailed 
subject index, a great drawback to the 
experienced 6502 programmer in that it 
is difficult to glean the niceties specific 
to the BBC Micro except by reading 
the whole book. 

In summary, if you have a BBC 
Micro and are a complete novice 
wishing to learn assembler, then this is 
the book for you. 



When you have worked through it 
you will join those more experienced 
programmers who hope for the 
publication of a good BBC Micro 
reference book - indexed! 

Two further books on assembler for 
the BBC Micro are to be published 
later this year, one of which I un- 
derstand will be from the BBC itself (or 
herself?). Watch this space for news of 
these. 

P.S. If you are writing a book called 
"The BBC Micro REALLY Revealed", 
please publish it soon! 

David Reader 



Make sure your collection is complete! 




Articles in the March 




■mm :-:;.:,.. : :. : : :■:■.■.: : . ... . : . : ■■::-.: : , Y : . }y ■ ; C: '?! : YYY' : \ "Y:^; y; ■ Y \ /':"' ' ■ y y S' ^^ \ %\ 

included: 



tt&£4i 



Part 1 of our series on 
computing for beginners. 

□ How to build your own games 
paddle. 

□ Review of the Alphabeta word 
processor. 

Part 1 of our easy to- 
understand guide to text 
colours and graphics. 
Part 1 of our introduction to 
the BBC operating system. 

□ How to avoid cassette loading 

problems. 

□ DEATHWATCH! Complete 
listing of this arcade game. 



D How to upgrade a Model A to 
B at half the shop price. 

□ Create your own micro portrait 
gallery with our "Shapes" 
program. 

□ Play Bingo and learn about 
random numbers. 

D Part 1 of our evaluation of 
colour monitors for the BBC 
Micro. 

□ Speed up your processing time 
with our sorting routines. 

□ Programmers' Workshop 
shows how to test for function 
keys in machine code routines. 



,....,. .....,mm.. 



nil** i «. 



;B BiC, 



Ml I C R O 



U IS E R 




Articles in the April issue included: 

■ ■■]■■::::■:. ....:. :m -■■■■.■■■,. "m,;- ■:: .f^::: , m-m^m-y^mm^m:::^^.: ::.y^^-Y:YY^,YIY ::.,.:.YY^::.::::Y-::..... : - -^y^y 



□ How to produce impressive 
graphics using Teletext Mode 
7. 

□ Having listing trouble? We 
review common copying 

errors. 

□ Part 2 of our series on 
computing for beginners. 

□ Our graphics course teaches 
how to draw multi-coloured 
lines. 

□ KING KONG! Fly your heli- 
copter and rescue maidens. 

□ Part 2 of our guide to the 
BBC's operating system. 



□ Part 2 of our review of BBC 
colour monitors. 

□ 8-PAGE PULLOUT: Essential 
reference guide for Basic 
programmers. 

□ Final part of how to upgrade a 
Model A into a Model B. 

□ Programmers' Workshop helps 
you find the ROM's action 
addresses. 

□ Binary code: what is it and 
how to use it. 

□ Disc formatter: The essential 
program you need to run 
discs. 



Back numbers still available at £1.25 



incip&p 



ORDER FORM 
OIM PAGE 81 



56 BBC MICRO USER May 1983 



THE NEW AND UNIQUE C.A.D. PROGRAM 

FOR THE RBC MICRO (32K) 

* COMPUTER AIDED DESIGN (Available on Cassette or Disc) 

AT A VERY 
AFFORDABLE PRICE 

Ideal for teachers, designers, artists, technical drawing and 

numerous other applications including your own form and 

stationery design etc. 

This program must be seen to be appreciated - your 

imagination is the only factor to limit its individual 

applications. 

• Modes 0,1,2,4,5 (can be changed when program is 
running). 

• Multiple display of arrays enables infinite complexity. 

• FUNCTIONS: Line, rectangle, triangle, circle, text (upper 
and lower case) and colour pallet (8 colours and flashing). 

• DRAWING AIDS: Alignment grid, circle copy, delete, 
free memory, purge memory, variable cursor speed, clear 
screen and redraw. 

• Shapes can be filled or outlined (no need for Fill Routines). 

• Save and load to tape in about 20 seconds, or to disc in 2 
seconds. 

• SPECIAL FACILITY - Rubber band mode - A very flexible 
and variable line drawing facility - must be seen. 

• Free "redraw" routine to enable the pictures created to be 
displayed in your own programs. 

• The disc version allows screen saves, which take approx. 3 
seconds. 

• Recommended by BBC Micro User. 

• Future developments will include processing packs which 
will provide additional features such as arcs, elipses, 
air-brush, printer dump and many more. Cassette users may 
purchase an additional cassette containing these features, but 
disc users will be able to return their disc which will be 
upgraded to the latest specification, and the user will only be 
charged the difference between the two versions. 

• GRAFSTIK (joystick cassette version) £7.95 

• GRAFKEY (keyboard cassette version) £7.95 

• GRAFDISC (combines both on one disc) £12.95 
(the examples shown are all unretouched off-screen 
photographs of some of the program's capabilities). 

AUTHORISED DEALERS 

Northern Computers, Frodsham 0928 35110 
Eltec Services, Bradford 0274 722512 
Computerama, Stafford 0785 44206 
Data Exchange, Birkenhead 051-647 9185 
Wildings Photographic, Wigan 0942 44382 
Computer Centre, Hull 0482 26297 






DRUM ftMAKC 






T^^^xX 




Iinlfi«_Z 


^p(Er^\ 




((/ 


•yVvVvVvv* \ \\ 




shot li/_ 


/ »ull-off \ II 




III 


\ ifrlnn / 




\v 


mmm//M 






ism 




adjuster * 







SYNTHESISER 
PACKAGE 

PART 1:- 

Allows up to 16 envelopes to be 
defined and saved using a very 
sophisticated, yet easy to use 
defining program. Alter the values 
and hear the effect instantly. Then 
use the envelopes in Part 2. 

PART 2:- 

Turns your keyboard into a musical 

instrument. Lets you play 3-note 

chords {not just single notes). Use 

cursor keys to change octaves etc, 

etc. 

Become the Rick Wakeman of the 
Computer Age. 

THIS SUPER PACKAGE COSTS 
JUST Cassette £7.95 

J\ Disc £10.95 



P 




JOYSTICKS 

Pair of fully 

proportional 

joysticks 

of compact and 

handy size 

£17.95 



THE KEY" 



Copies most protected programs on disc and allows you to 

keep a back-up of your treasured programs. 

It is a condition of sale that this program is not used for piracy. 

Price: £12.95 



PROGRAMMERS 

We are constantly seeking new and interesting programs. Why not send 
yours for appraisal? Do not worry if the presentation is not to professional 
standards - we are looking for new ideas and we will advise and assist in 
bringing your program to the required standard. You have got nothing to 
lose but much to gain - So why not send your program today? 40 Track 
disc if possible or two copies on cassette. In some cases we will even 
provide disc drives against future royalties. 



CASSETTE LEADS 

(with Motor Control) 

7 pin DIN -3 pin DIN 

+ REMOTE £2.95 

7 pin DIN - 2 x 3.5mm Jacks 

+ 1 x 2.5mm JACK £2.95 



MONITOR LEADS 

6 pin DIN 6 pin DIN £2.95 

BNC-PH0N0 £2.95 



PRINTER LEADS 

SERIAL (5 pin DOMINO - 25 way 

"D") £7.50 

PARALLEL (Centronics) £13.95 



CLARES MICRO SUPPLIES 

Dept. BMU5, Providence House, 
222 Townfield Road, Winsford, 
Cheshire CW7 4AX. 
Tel: 06065 51374 ^^ 

All prices inclusive of f^ w 

VAT + Carriage - No Extras. *■**# 




May 1983 BBC MICRO USER 57 



ANAGRAMS is a program 
that demonstrates how a 
simple idea can be developed 
into a sophisticated program 
which can then be used in a 
variety of educational contexts 
or as a game in its own right. 

The idea is to solve a series 
of 25 anagrams. The program 
sets a time limit for each 
attempt, which you may 
exceed if you wish. 

However, the computer 
uses the time you take and the 
difficulty of the word, deter- 
mined by its length, to 
calculate your skill level. 

As your skill increases 
throughout the game, so the 
anagrams presented to you 
become longer. 

At the end, the program 
displays your skill level as well 
as your total and average 
score. 

There is also a facility for 




logging the name of the 
highest scorer, as in all good 
arcade games. 

As it stands, the game 
describes objects that would 
be found in the kitchen. You 
may wish to change, or add to, 
the data, particularly the 
longer words so as to give 
more available anagrams. 



Also, it would not be too 
hard to add a procedure to 
input the data from cassette 
instead of having the data em- 
bedded in DATA statements. 

It would then be simple to 
prepare a whole series of tapes 
on different subjects. 
• The following details should 
give sufficient understanding 



of the program to allow con- 
version work to be undei 

taken: 

PROCSTART (called 

line 60) turns off the curs( 
with VDU23;8202;0;0;0;. 

If you have ROM 1.0 or 
above, this should be changed 
to VDU 23,1,0;0;0;0; - the 
cursor is re-enabled with VDU 



If you don't get it, this program by CHRIS TURNBULL will sort 



10 REH Anagraes '83 

20 REN 

30 REH C.Turnbull. 

40 REH 

50 H0DE7 

60 PROCSTART 

70 REPEAT 

80 PROCSetvars 

90 PROCInstructions 

100 CLS 

110 F0RTryX=l TO 25 

120 REPEAT 

130 FI=RND(50> 

140 UNTIL LEN(Data*(FX))=SkillX AND Da 
ta»(FI)OLast« 

150 Right*=Data*(FX) 

160 REPEAT:Nord*=Rightt:PROCJUHBLE: U 
NTIL RightfONordt 

170 PRINT"THE JUMBLED M0RD ISi'j 

180 F0RTX=0 TO 1:PRINTTAB(7,TX+2);CHR 
$(130);CHRt(141);NDRD*:NEXT 

190 TrytiieX=INT(1.8»LEN(Nord*>) 

200 PRINT "YOU HAVE -;Tryti«eI;" SEC0H 
DS." 

210 TlHE=0 

220 PRINT 

230 INPUT Answer* 

240 TiaetakenX'INT (TINE/100) 

250 PR«T""Y0U TOOK "iTieetakenX}" S 
EC0NDS,"; 

260 PROCNarkt 

270 PRINT "YOUR CURRENT SCORE IS 

....';CHR*(130);ScoriX 

280 PRINT' "YOUR CURRENT SKILL LEVEL IS 



....";CHR*<130);SkillI 

290 PRINT' CHR*(131)jCHR*(8);CHR*(157) 
;CHRt(134); 

300 PRINT' PRESS ANY KEY.'; CHR 
*(8);:PR0C6et:CLS 

310 Last$«Right* 

320NEXTTryX 

330 CLS 

340 PROCAverages 

350 UNTIL Finish 

360 tFX12,0 

370 END 

3aOREH»ttttt'tlifttMtttttttitttitt 

390 DEFPRQCJUHBLE 
400 LengthX=LEN(Nord* ) 
410 F0RTX=1 TO LengthI:word*(TX)**":Ch 
eckX(TX)*0 
420 NEXTTX 

430 F0RTX=1 TO Length* 
440 REPEAT 
450 DX=RND (Length!) 
460 UNTIL CheckX(DXKH 
470 CheckX(DX)=liHord$(DX)-HIDf(Nord$, 
TX,1> 
480 NEXTTX 

490 Nord$=":WRD**" 
500 F0RTX=1 TO Length! 

510 Hordf*Hord$+Hord$(TZ) 

520 N0RD»H10RI>**lforil« (TZ> + a ' 

530 NEXTTX 

540 ENDPROC 

550R£Hiitttttltttt«it!ttttttttttH 

560 DEFPROCInitdiis 

570 DIHCheckX(15),Nord*(15>,Dataf(50) 



580 F0RTX=1 TO 50tREADData*(TX): NEXTTX 

590 RESTORE 
600 ENDPROC 

610 CLS I 

620 REHHtttttttittfMHIttftittm I 

630 DEFPROClnstructions 
640 CLS J 

650 F0RTX=0 TO 1:PRINTTAB(0,TX);CHRI(1 
32);CHR*(157>;TAB(14);CHR*U31)tCHRf(141 

I "Anagraas": NEXTTX 
660 PRINTTAB(0,4);CHR$(130);'Inctructi 

ons." 

670 PRINTTAB(2,6)j"The coeputer will d 
isplay a word, this itord is an anagraa 
of southing found in a kitchen, rangin 
g fraa cutlery and appliances to food 
and drinks.' I 

680 PRINT'TAB(2);'It Kill also displa 
y a tiee,this tite is your lieit.If yo 
u take longer, then you will lose point 
s,eore points lost far the aore tie* u 
sed,but if you put in your word before 

the tiee runs out "; j 

690 PRINT" you Mill gain points, of cou 

rse.if you get the word wrong you lose 

even aore." . 

700 PRINT * ; CHR* ( 131 ) ; CHR» 1 1571 ; TAB (6) ; 
CHR$ ( 136) jCHRII 130); "PRESS ANY KEY.'iPRO 
CGet ] 

710 CLS 

720 F0RT=0 TO l$PRINTTAB(0,T)jCHR*(132 
);CHR$(157);TAB(8);CHR$(131);CHR*(141)"N 
ore instructions." t NEXT j 

730 PRINTTAB(2,4)"To put in your nord, 



58 BBC MICRO USER May 1983 




23,1,1;0;0;0;. 

The auto-repeat is disabled 
with *FX11,0 - it is re- 
enabled at the end of the 
program with *FX12,0. 

This procedure also sets the 
Boolean variable FINISH 
which tests for the end of the 
program and calls 
PROCInitdims which in- 
itialises the arrays (line 570) 
and reads the data into 
Data$( ). 

It also sets the high score, 
High%, to zero and the name 
of the scorer, HighS, to 
nobody. 

Lines 120-140 pick a 
number F% in the range 
1 to 50 and use it to index 
Data$( ), i.e. Data$(F%) 
picks out a word for the next 
anagram. 

LastS holds the word last 
chosen and Skill% is the skill 
level involved, which is the 



length of the word. 

Thus, line 140 checks that 
the word chosen is of the right 
length and has not just been 
picked. 

Line 150 stores the word 
chosen in RightS. Line 160 is 
a loop that stores RightS in 
WordS. 

The latter is then "anagram- 
med" in PROCJumble and 
checked to ensure that RightS 
<> WordS, i.e. that it has not 
emerged still in the correct 
order - "butter" is not a very 
good anagram for "butter"! 

PROCJumble works by 
using array WORD$( ) to 
store randomly picked letters 
from WordS. 

Each time a letter is picked, 
the element of Check%( ) 
corresponding to the position 
of that letter in WordS is set to 
1. This "flag" is used to ensure 
that an individual letter is not 



picked twice (line 460). 

Finally, the elements of 
array Word$( ) are con- 
catenated and stored in 
WordS - so that this now con- 
tains an anagram of its 
original self (which is still 
stored in RightS). 

Also WORDS is built up. 
This is identical to the newly 
jumbled WordS except that its 
letters are separated by 
spaces. 

PROCMarks alters the skill 
level (Skill%) as necessary 
depending on the values of 
Trytime%, which is the time 
allowed for a word, and 
Timetaken% which is the time 
actually taken for an answer. 

PROCAverages gives the 
average score, calling either 
PROCNewhigh or PROC- 
Save, depending on whether a 
new high score has been 
achieved. Given all these 




hings out 



details, it 
should be fairly 
easy to determine 
the workings of the 
program, particularly as 
descriptive variable nanjes 
have been used throughout, 
single letter variables being 
reserved for loop parameters, 
etc. 

Those of us used to 
restricted length variable 
names will readily appreciate 
how readable the BBC 
Micro's approach to variable 
names makes programs. Of 
course, you could shorten 
these if you wish to save 
memory for more data. 

This program was written 
with 50 words as data. To add 
more data, simply add extra 
DATA statements and in- 
crease the references to 50 
appropriately in lines 130, 570 
and 580. 






type it in, using the keyboard, then pr 
ess";CHR«<134) 5 "RETURN" 

740 PRINT 'TAB (2) 'If you press a wrong 
key l press'iCHRt<133) j "DELETE" 

750 PRINTTAB(2)"The offending letter h 
ill be reioved." 

760 PRINT"TAB(2)j "Press 'RETURN' to s 
Urf|:PR0C6et 

770 ENDPROC 

780REHtlttttttltittttttiftittttllt 

790 OEFPROCSetvars 

800 Last*=" 

810 Right**' * 

820 SkillXM 

830 ScoreX=0 

B40 ENDPROC 

850 REHtttttttltttttttttlttltttlii 

860 OEFPROCNarks 

870 IFTieetakenKTrytieeXTHENPRINT'NIT 
Ml THE TINE LIMIT" 

880 IFTieetakenX>TrytieeXTHENPRINT'OUT 
SIDE THE UNIT" 

WO IFRight**Ans«er* THEN PRINT'YOU 60 
T IT RI6HT.IT HAS "jRight* 

900 IFRightlOAnsner* THEN PRINT'YOU 6 
OT IT KRQN6.IT HAS '{Right* 

910 IFAnsner**Right* AND TieetakenKTr 
ytiHlTHEN ScoreZ=ScoreZ+(LEN(Hord*) )+2» 
Trytiael 

920 IFAnseer**Right* AND TieetakenX« 
2»LEN(Nord*)) THEN SkillX«SkillI+l:IFSki 
11I)=9 THENSkillX*9 ELSE SkillX=SkillX-< 
«2)-l) 

930 IFSkillX<3 THEN SkillX»3 



940 IFAnsner*ORight* THEN ScoreX=Scor 
eX-(20-LEN(Nord*)l 

950 IFAns«er*=Right* AND TieetakenWr 
ytieeXTHEN SeoreX=ScoreX+(LEN(Hord*))-5* 
((TieetakenX-TrytieeX)) 
960 ENDPROC 

970 tltittttttltttttt*ftftlttttttll 
980 DEFPROCAverages 
990 CLS:PRINT'Y0UR TOTAL SCORE AFTER 2 
5 WORDS ]';ScoreX 
1000 PRINT'YOUR SKILL LEVEL AFTER 25 HO 
RDS ]';SkiIlX 
1010 PRINT'YOUR AVERA6E SCORE FOR 25 HO 
RDS ]';ScoreX/25 
1020 AVSCX=ScoreX/25 
1030 IFAVSCX>HighXTHEN PROCNeHhigh ELSE 
PROCSaee 

1040 PRINTTAB(0,22);CHR*(132>}CHR*(157 

);CHR$(131)j 

1050 PRINT-DO YOU HISH TO PLAY A6AIN7IY 
/N)' 

1060 REPEAT:PR0C6etiUNTIL A*>'Y" OR At* 
"N" 

1070 IF A**'N" THEN Finish=TRUE 
1080 ENDPROC 

1090 REMI#Mt««4ft«ltittftittlllt 
1100 DAT ABUTTER , HAR6AR I NE , LARD , VE6ETABL 

E, CHEESE, BACON, SU8AR, NUTS, CAKES, BISCUITS 
,BREAD,CHIPS, CEREALS, WHEAT, BARLEY.QATS.R 
ICE,HAIZE,P0TAT0ES,ESS,FISH,E66S,MILK,PE 
AS, BEANS, LENTILS, BREAD , HAZELNUTS , 0RAN6ES 
, LEH0NS, HAN , LETTUCE , CARROTS 
1 1 10 DATABANKS, POTATOES .CABBAGES ,BREA 

D,BACON,T0NAT0ES,CHEESE,BISCUITS,F0RKS,S 



P00NS , KETTLE , TOASTER , SAUCEPAN , PEAS , C0FFE 
E.TEA.SU6AR 
1 120 REHItltlttltttf ttttittimttl 

1130 DEF PROCSaee 

1140 PRINT' "THE CURRENT HI6HEST AVERA6E 

IS ]";HighX 

1150 PRINT-IT HAS SET BY 'jHigh* 

1140 PRINT "THANK YOU FOR PLAYIN6" 

1170 ENDPROC 

1 180 REMM tttilititlittttttlttttt t 

1190 DEF PROCNevhigh 

1200 PRINT'YOU HAVE BEATEN THE HI6HES 
T AVERA6E" 

1210 PRIHT'NHICH HAS "|HighXj" SET BY " 
;High* 

1220 PRINT "PLEASE ENTER YOUR NAME (ONL 
Y 15 LETTERS)" 

1230 INPUTHigh*:High**LEFT*(High*, 15) 

1240 HighX-AVSCX 

1250 ENDPROC 

1260 RENttititttttitMtttttttttttt 

1270 DEFPR0CSTART 
1280 VDU23;8202;0;0;0; 
1290 tFXll.O 
1300 Finish=FALSE 
1310 HighX=0 
1320 PROCInitdin 
1330 High**'Nobody" 
1340 ENDPROC 

1350 REHftlttttfftttllttfftttttilitf 

1360 DEF PROCSet 

1370 «FX 15,1 
1380 A**6ET* 
1390 ENDPROC 



May 1983 BBC MICRO USER 59 



PROGRAMMERS' WORKSHOP 



&^M 




\ 











// 



/ 



i 

/ 



/ 



\ 



\ 



\ 




i J 




o 















s. 



s 



} 



/ 



/ 



I 









/ 




60 BBC MICRO USER May 1983 




ni 



\ 






\ 



ONE difficulty with looking at the operating system is that at the 
moment there are still a number of different versions around, from the 
infamous 0.1, with its well known Cassette Filing System problemsra \ 
the (for the present) definitive 1.20, capable of supporting paged 
ROMs, the disc system, Econet, Teletext and numerous other 

goodies. \ _X\\, \ \\ jV\ \ \ 

I'll be looking mainly at the 1.20 version, which is now becoming 
widely available according to Acorn and should be around for a while. 
Many of the routines in the 1.0 version are very similar in what they 



\ 



do and in memory locations. 

The main problem with having a 
closer look at the operating system in 
the BBC Micro is knowing where to 
start, as it is long - not much less that 
16k - and because of the way the 
^operating system is structured, withv^- 
routines being called within routines 
and some of those being vectored. The 
system weaves a very tangled web 
The command line 
interpreter (&DF89) 
V^VThis is responsible for recognising 
instructions and jumping to the 
appropriate action address. It has some 
features which are noted below. 

Like the Basic keyword table 
(&806D-&8359) the operating system 
has a command table located from 
about &DF00. The command table 
program (Program will print out the 
commands, the action addresses and 



\\\w 







10REH Jit Notaan (c) 1983 

20ADDRESS=tDF10 

30REH 1.0=IDF04 : O.i'tDFEi 

40FINISH=IDF84 

SORER 1.0=IDF79 i Q.1=IE060 



extra' 
byte' 



MPRINT'Cowiand action 

70PRINT" address 

BOREPEAT 

90REPEAT 

100PRINTCHRK7ADDRESS); 
110ADDRESS=ADDRESS+l 
1 20UNT I L7A0DRESS >tt7F 

130PRINTTAB(10) ; * (?ADDRESS*25&) 
♦ADDRESS? 1; 
140PRIHTTAB ( 18) ; *ADDRESS?2 

150ADDRESS=ADDRESS*3 
160UNTILADDRESS>FINISH 



Program I 



commands, the action addresses and rra «™ m * \ \ \ y 

an extra byte which is loaded into the_^ accumulator before jumping to the 

action address. / j |\ \ \ \ 

10 REH 0SBYTF action idrfr.iuc It is interesting to note that: \ 



V 



10 REN OSBYTE action addresses 

20 REM for OS 1.20 

25 REN Jit Notaan (c) 1983 

30 VDU14 

40 OSBYTE=0:oHset=0 

50 REPEAT 

40 PRINT'QBYTE "|0SBYTE" 

,*!<lE5B3*(0SBYTE-offset)t2) AND 
tfFFF 

70 IF 0SBYTE=21 THEN 0SBYTEM16 
:oHset**5F 

80 0SBYTE=QSBYTE*1 
90 UNTIL QSBYTEM40 
100 PRINT'OSBYTE calls>166 K99C 

For OS 1.00 the fol lotting changes need 

to be aede t- 

line 40 the address needs to be K56E 

line 70 IF 0SBlfTE=22 THEN 0SBYTE*115i 

oHset=fc5D 

line 90 UNTIL OSBYTE) 161 

line 100 PRINT'OSBYTE callsMao IE9AF 



/ 




* v ™"' ;//>// 



It is interesting to note that: 

• The commands no longer appear to 
be preceded by an *, as this is not 
passed to the operating system, or as 
can happen (if you type in two or more 

together), " ~" 

e command line 

• The command is immediately 
followed by its action address, unlike 
Basic where there were separate tables 
for the high byte and low bytes. Like 
Basic there is an "extra" byte. This is 

/ placed in the accumulator before being 
directed to the action address. 
/• The action address is in the form 
high byte then low byte. This is 
opposite to the way that you would 
expect for a 6502 system. The reason 
for it here is that since the high byte 
will be greater than &80 it can be used 
to separate the command from the 
address. The command line interpret 
manipulates the address so that it is 
the form required by the 6502. 

• The first command is V so you can 
see that it is not just an abbreviation for 



/ 



/ 



\\ \ 

*CAT, but a command in its own right. 

• There appear to be two new com- 
mands not documented in the User 
Guide - *CODE and ♦LINE. ^"^ 

• Some ^of the commands share 
common action addresses, but have 
different 'values placed in the 
accumulator. This is especially true for 
the action address &E348, where 
MOTOR, OPT, TAPE, ROM, TAPE 
and CODE are all directed! \ 

• The action address of FX closely 
precedes them. This is because all these 
commands are converted to OSBYTE 
calls by this routine (Table II)A 

• The commands you type in do not 
have to be in upper case! Before check- 
ing whether a word is present in Us *_ 
command table it does a Boolean AND 
with &DF with each letter. Jm I 
effectively changes a lower case letter 

\into an upper case letter. 
This sort of trick is very useful to 
now, especially for inputs in a Basic 
program where inexperienced users 
may not realise the difference and 
programmers have forgotten to take h 
into account. j 

OSBYTE setup / 

e (&E342£ _/ 
ore a call can be 



routine \OLtLMZ) 

Before a call can be made to 
OSBYTE the accumulator, X register 
and Y register must be 'primed' with i^ 
values, FX has the earlier entry 
because it must gather up three bytes of 
information, whereas the other com- 
mands already have a correct value for 
the accumulator and only need to have 
their X and Y registers loaded with 
appropriate values. A disassembly of 
the routine is given in Program III. 

The main purpose of the subroutines 
that leave this OSBYTE setup routine 







/ 




y [to get values for the 
al: 



A 



so to check that they do 

ot/ contain any non-numeric 

acters or any numbers greater than 




May 1983 BBC MICRO USER 61 



PROGRAMMERS' WORKSHOP 



From Page 61 

255, the maximum value that can be 
placed in an 8 bit register. 

If it finds anything wrong it will clear 
the carry flag so that, on return to the 
register load routine, the operating 
system will branch to an error - "Bad 
command". 

Even after OSBYTE has been called, 
there is still an error check. The over- 
flow flag will be set if there has been an 
error, for example an incorrect FX 
number was selected, so that the "Bad 
command" error message can be 

issued. 

OSBYTE (&E772) 

One of the most powerful features of 
the BBC Micro is that many of the 
functions that the machine can perform 
are not controlled by PEEKing and 
POKEing memory locations, but by 
specific calls to the operating system. 
This gets around the constant problem 
which manufacturers have of updating 
hardware and operating systems with- 
out making you rewrite all of your 
software. 

OSBYTE allows a large number of 
functions to be made available to the 
programmer without the need for a 
very long command table. However the 
machine must have some way of decid- 
ing where all the calls should go. 



E342 


20 


4E 


E0 JSR IE04E V FX entry point. 


E34S 


90 


C9 


BCC Bad coMand 


E347 


8A 




TIA 


E348 


48 




PHA \ Other coeaands entry point. 


E349 


A9 





LBA no 


E34B 


85 


ES 


STA ItES 


E34D 


85 


E4 


6TA IE4 


E34f 


20 


43 


E0 JSR IE043 


E352 


F0 


18 


BEQK36C 


E354 


20 


4E 


E0 JSR IE04E 


E357 


90 


17 


BCC Bid couand 


E359 


86 


ES 


STX «E5 


E3SB 


20 


45 


E0 JSR IE045 


E3SE 


F0 


C 


m IE36C 


E360 


20 


4E 


E0 JSR VE04E 


E3A3 


90 


AB 


BCC Bad couand 


E3&5 


86 


E4 


STX l£4 


E367 


20 


3A 


E0 JSR IE03A 


E36A 


B0 


A4 


m Bad cottand 


E36C 


A4 


E4 


IDYK4 


E36E 


A6 


E5 


lbx i£5 


E370 


68 




PLA 


E371 


20 


F4 


FF JSR OSBYTE 


E374 


70 


9A 


BVS lad couand 


E376 


40 




RTS 






Program III: OSBYTE setup routine 



When OSBYTE is called (as can be 
seen from Program IV) it uses the value 
it has in the accumulator to calculate 
the action address from a table starting 



at &E5B3. 
The routine checks for legal values 

of the accumulator. With all calls num- 
bered 21 (&15) or under, this value is 



E772 48 




FKA 




E79D 


20 7E 


E5 JSR K57E 


\ no action unless (1224) 


E773 8 




PHP 










changed 


E774 78 




SEI 




E7A0 


70 1A 


BVSK7BC 




E775 85 


EF 


STA IEF 




E7A2 


B9 14 


E5 LDA IE5B4,Y 


\ high byte 


E777 86 


F0 


STX VF0 




E7AS 


85 FB 


■ STAIFB 1 




E779 84 


Fl 


STY If I 




E7A7 


B9 B3 


E5 LDA *E5B3,Y \ Ion byte 


E77B A2 


7 


LDX 117 




E7AA 


85 FA 


■ STA IFA ■ 




E77D C9 


73 


CHPI175 




E7AC 


A5 EF 


LDAaEF 


\ ace. on routine entry 


E77F 90 


41 


BCC IE7C2 


V value* < 117 (175) 


E7AE 


A4 Fl 


L»Y IF1 


\ store for Y register 


E781 C9 


Al 


CHP HAl 




E7B0 


BO 4 


BCS IE7B6 




E7B3 90 


9 


BCC IE7BE 


\ valun < 161 (Ml) 


E7B2 


AO 


lbymo 




E785 C9 


A6 


CHPIIA6 




E7B4 


Bl F0 


LDA («F0),Y 


i 


E787 90 


3F 


BCC *E7C8 


\ values < 166 (M6) - Discard 


E7B6 


38 


SEC 




E789 18 




CLC 




E7B7 


A6 F0 


LDX VF0 


\ store for I 


E78A A9 


Al 


LDA MAI 


\ all values 161 or war* 


E7B9 


20 58 


F0 JSR If 058 


\ fit belon 


E78C 69 





ABC 110 




E7BC 


6A 


R0R A 




E78E 38 




SEC 




E7BD 


28 


PLP 




E78F E9 


if 


SBC KSF 


\ subtract fro* values > 117 


E7BE 


2A 


ROL A 










(175) 


E7BF 


68 


PLA 




E791 A 




flSL A 


\ *2 for offset 


E7C0 


B8 


ctv 




E792 38 




SEC 




E7C1 


60 


RTS 




E793 84 


Fl 


6TYIF1 




E7C2 


AO 


LDY M0 




E795 A8 




TAY 




E7C4 


C9 14 


CHPM16 




E796 2C 
E799 10 


5E 

7 


2 BIT 125E 
BPL IE7A2 

- - 




E7C6 


90 C9 


BCCIE791 


V values < 22 (Hi) rt join 
OSBYTE 


E79B 8A 




TXA 












E79C B8 




ctv 




F058 


6C FA 


00 JKP (IFA) 


\ action address 


Program IV: 


Disassembled 


OSBYTE routine 











62 BBC MICRO USER May 1983 















OSBYTE 

KBYTE 1 

OSBYTE 2 

OSBYTE 3 

OSBYTE 4 

OSBYTE 5 

OSBYTE 6 

OSBYTE 7 

OSBYTE 8 

OSBYTE 9 

OSBYTE 10 

OSBYTE 11 

OSBYTE 12 

OSBYTE 13 

OSBYTE 14 

OSBYTE IS 

OSBYTE 16 



IEB21 
IE9S8 

IEAD3 
K997 
kE997 

imn 

IE988 
IE6BB 
IE689 
IE6B0 
IE6B2 
K995 
IE98C 
K4F9 
IE6FA 
IF0A8 
IE70& 



OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 



17 IDEBC 

18 IE9C8 

19 IE9B4 

20 KD07 

21 IF0B4 

117 IE86C 

118 IE9D9 

119 K275 

120 IF045 

121 IFOCF 

122 iFOCD 

123 IE197 

124 IE673 

125 IE674 

126 IE6SC 

127 IE035 

128 IE74F 



OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 
OSBYTE 



129 IE713 

130 i£729 

131 tf085 

132 ID923 

133 10926 

134 ID647 

135 ID7C2 

136 IE657 

137 K67F 

138 K4AF 

139 l£034 

140 IF135 

141 IF135 

142 IDBE7 

143 IF li8 

144 IEAE3 

145 IE460 



OSBYTE 

OSBYTE 

OSBYTE 

OSBYTE 

OSBYTE 

OSBYTE 

OSBYTE 

OSBYTE 

OSBYTE 

OSBYTE 

OSBYTE 

OSBYTE 

OSBYTE 

OSBYTE 

OSBYTE 

OSBYTE 

4E99C 



146 
147 
148 
149 
150 
151 
152 
153 
154 
155 
156 
157 
158 
159 
160 

Mill 



kFFAA 
IEAF4 

IFFAE 

&EAF9 

4FFB2 

VEAFE 

IE45B 

IE4F3 

K9FF 

IEA10 

IE17C 

IFFA7 

IEE6D 

*EE7F 

K9C0 

>166 



Table I: OSBYTE action addresses 



used directly to compute the offset. 
Values between 22 (&16) and 116 
(&74) inclusive are discarded, and 
values between 117 (&75) and 160 
(&AO) have 95 (&5F) subtracted from 
this value before calculating the offset. 
Values between 161 (&A1) and 165 
(&A5) inclusive are again discarded. 
All values 166 (&A6) and over are 
treated the same, having the same 
action address. 

The offset is calculated by doing an 
arithmetic shift left (&E791) on the 
value remaining in the accumulator and 
using this to access the necessary bytes 
from the action address table. 

The OSBYTE action addresses 
program will produce a list of the 
action addresses for OSBYTE OS 1.2. 

For example, if we have a look at the 



CoMind action txtra 
address byte 



FI 

BASIC 

CAT 



E031 
E342 
E018 
£031 



5 

FF 



5 



Table II: Command action addresses 



CODE 


E348 


88 


OPT 


E348 


BB 


EXEC 


F6BD 





RUN 


E031 


4 


HELP 


FOOT 


FF 


RON 


E348 


8D 


KEY 


E327 


FF 


SAVE 


E23E 





LOAD 


E23C 





SPOOL 


E281 





LINE 


E659 


1 


TAPE 


E348 


8C 


MOTOR 


E348 


89 


TV 


E348 


90 



OSBYTE call of O we can see it has the 
action address of &E821. 
E821 DO FB BNE &E81E 

After that instruction (it doesn't 
branch) it "falls through" onto a BRK 
instruction which the BBC Micro 
handles by going into an error routine. 
The number after the BRK becomes 
the error code, with the bytes following 



being the error message, the message 
printed being "OS 1.20". 

In the operating system 0.1 the error 
number was 0. Now with OS 1.00 and 
OS 1.20 the error number is 245 
(&F7). So if you have written a 
program which requires the facilities of 
the newer systems all you need is to 
*FXO and check the error number. B 




on your 



IE33H Programmer's guide 4 1 


iviii*r\ts 

user Two Colour Modes: 0,4 


Logical colour number 


Colour 


Foreground 


Background 


O 


128 


Black 


1 


129 


white 


Four Colour Modes: 1,5 


Logical colour number 


Colour 


Foreground 


Background 


O 


128 


Black 


1 


129 


Red 


2 


130 


Yellow 


3 


131 


White 



BBC I 
MICRO ' 
USER 


Programmer's guide 




Sixteen Colours: Mode ; 


I 


Logical No. 


Colour 


Colour* 


Logical No. 


Fore I Back 
ground ground 


Fore 
ground 


Back 
ground 


O I 128 


Black 


White* 


8 


13' 


6 


1 


129 


Red 


Cyan* 


9 


13 


7 


2 


130 


Green 


Magenta* 10 


138 


3 


131 


Yellow 


Blue* 11 


139 


4 


132 Blue 


Yellow* 1 2 


140 


5 


133 


Magenta 


Green* 13 


141 


6 


134 


Cyan 


Red* 


14 | 142 


7 


135 White 


Black* 


15 143 


* = Flashing 
IM.B. The foreground logical colour numbers on 
entry to Mode 2 are also the actual colour numbers 
of the BBC Micro's palette. 



May 1983 BBC MICRO USER 63 



Available Now 

Full instructions enclosed 



MM 







Patent applied for 



Yes it's here! A complete sound system for the B.B.C. 

Micro, realistically priced at £21 (Inc. V.A.T.) plus £1.50 post and packaging 

MICROVOC -the BBC Sound System 

MICROVOC is a complete sound system designed specifically for the BBC micro, 

capable of use with either speech synthesis or computer produced music. 
Using the BBC micro's own power, MICROVOC can literally fill the average sized 

room with a quality of sound you may not have believed possible. 

Supplied with robust, ultra modern, spherical speakers, which can be free standing, 

to compliment the BBC machine, or fixed to the wall, or indeed out of sight on the 

underside of your desk, MICROVOC brings out the true quality of the BBC 

micros sound facilities. 
The external speakers can be disconnected at will leaving MICROVOCs volume 

control to operate the internal speaker of the BBC micro. 




OUR GUARANTEE - None of the original components of the BBC micro, 
including the cabinet need to be modified in any way to install MICROVOC 



Our prime concern whilst designing 'MICROVOC was to ensure that your BBC 

micro warranty would remain unaffected. 

MICROVOC can easily be fitted in five minutes and requires no drilling, soldering, 

or any technical expertise whatsoever. It can just as easily be removed, leaving 

your BBC micro in its original condition. 

MICROVOC simply plugs into existing fittings on the BBC micro and makes use 
of the 'Reset' and 'Econet' apertures at the rear of the machine. 

If your BBC micro suffers from the infuriating 'Buzz' then you will also need 

'Buzzgo'. 'Buzzgo' simply plugs into the 1 Mhz Bus to eliminate the infernal buzz. If 

purchased with 'MICROVOC, Buzzgo costs an additional £2 (Inc. VAT). For 

separate purchases Buzzgo costs £3.50 (Inclusive). 



"i 



-i fc 




fill' 1 






fe* 



■ 






M I C RO-ADVE NT (A subsidiary of Advent) 
Ashlyn House, 113 Writtle Road, Chelmsford, Essex. 

Opening hours 9.30am - 3.30pm Monday - Friday. 

Telephone: 0245 59708 






, 9 • 



| 



.<• ■ 



64 BBC MICRO USER May 1983 



r 



More of a revue 



than a review . • 



STRUCTURE is all important in com- 
puter programming, so much so that a 
language should be selected entirely on 
the basis of its structured properties. 
The majority of computer experts con- 
sider that it is more important that a 
language should be well structured than 
that it should be useful. 

The new language about to be 
released on ROM is the most highly 
structured language so far available. 
This language, Splurge II, supports all 
the structures offered by Pascal and 
Algol, and in addition several novel 
structures which make Splurge 
particularly suitable for artificial in- 
telligence, simulation and NP-complete 
problems. 

Splurge offers all the usual 
structures, FOR, WHILE, REPEAT 
and IF, by enclosing the statements in 
the structure in the usual begin . . end 
compound statement, but in Splurge II 
the begin is replaced by the word DO 
and the end t>y the word DONT. An 
ELSE implies DONT ELSE DO, thus 
giving rise to statements such as: 
IF A=B THEN DO B=C; A=D 
ELSE DONT 

The existence of DO and DONT 
allow reverse structures to be set up, in 
which an action is performed only if 
some condition is not true. This is done 
by putting the 'DONT' statement 
before the DO: 

IF A=B THEN DONT PRINT "A is 
not equal to B" DO 

Splurge stands for Structured 
Programming Language with User 
Restricted Goto Environment, and one 
of the features is the ability of the user 
to completely eliminate all GOTO 
statements. This is one of the main 
aims of structured programming, and 
can be achieved at a stroke by the use 
of the GOTO OFF statement, which 
causes all subsequent GOTOs to 
become illegal. GOTO OFF can be 
cancelled by GOTO ON. 

The most exciting statements in 
Splurge II are the stochastic state- 
ments, which cause random effects. 
The most basic of these is the 



SPLURGE 




the thinking 
man's Pascal 



stochastic GOTO (SGOTO) which 
causes the program to jump to a 
random statement. 

SGOTO Goes not normally consider 
all statements as candidates for the 
jumps; instead the COME FROM 
statement is used to mark the lines to 
which the SGOTO can jump. 

For example, the statement 300 
COME FROM 200 allows a SGOTO 
statement at line 200 to cause a jump 
to line 300, or to any other line with 
COME FROM 200; SGOTO selects 
between them at random. SGOTO 
ANY ignores COME FROM and 
jumps to a random line. 

Stochastic statements are also a 
feature of procedure calls in Spluge II. 
The SCALL statement calls a random 
procedure, and the SRETURN state- 
ment RETURNS to a random part of 
the program. There is also an inverse 
return statement, IRETURN, which 
allows return to any statement in the 
program except the one after the proce- 
dure call. 

The SHUFFLE statement is another 
flexible example of Splurge II's 
versatility. The statement SHUFFLE 



exclusive ! 



A, where A is an array, shuffles the 
array elements, and can be considered 
to be the opposite of a sort. On its own, 
the command SHUFFLE shuffles the 
stack, thus giving rise to a great variety 
of random events. SHUFFLE PROC 
shuffles the names of all the proce- 
dures. The equivalent statement with 
strings is AS = ANAGRAMS (A$) , 
which causes a random rearrangement 
of the string. 

Two more statements of tremendous 
potential usefulness are the REVERSE 
and GO BACKWARDS statements. 
The latter causes the program to go 
from each statement to the statement 
with the next lowest line number (the 
opposite direction to normal) starting 
with the current statement. The 
REVERSE statement reverses the 
direction of program flow. Direction of 
program flow can be evaluated using 
the two functions FORWARDS and 
BACKWARDS. If the flow is in the 
conventional direction, FORWARDS 
is true and BACKWARDS is false. 
The reverse is true after a GO 



Ron HJ. POETH and SAM MACRAB 
delve into the unbelievable, and we do 
mean unbelievable, depths of 
SPLURGE II, the latest language ROM 
for the BBC Micro 



May 1983 BBC MICRO USER 65 










From Page 65 

BACKWARDS statement 

No review of Splurge II would be 
complete without a description of the 
splendid Ferret graphics system. Ferret 
graphics are in many ways similar to 
Turtle graphics, but there are sig- 
nificant differences. The most 
important is that, unlike the Turtle 
which must stay on the flat surface, the 
Ferret can vanish down holes and 
reappear elsewhere on the screen. This 
provides a limited 3D capability. The 
Ferret is also much faster than the 
turtle, but not nearly as user friendly. 

Normally Splurge II runs under an 
interpreter which is invoked by typing 
•SPLURGE. This enters SUE, the 
Splurge User Environment. SUE also 
offers a compiler, which allows the 
program to be executed using the many 
compiler options designed for rapid 
debugging. 

These options include BOTTOM, 
which causes the program to be 
executed from the last statement 
upwards, and IGNORE, which causes 
the compiler to ignore all occurences of 



a specified kind of statement (eg. 
IGNORE IF). 

The SHUFFLE option shuffles all 
the statements, thus simulating the 
effect of dropping a deck of cards, a 
frequent manoeuvre in the days of 
mainframe batch systems (the same 
effect can be achieved in Basic by 
typing REN. 30000), and the CON- 
VERT option changes all occurences 
of WHILE into REPEAT UNTIL, and 
vice versa. n 

The compiler is not exactly com- 
patible with the interpreter, but the 
program can be converted from the 
compiler form to the interpreter form 
by typing the command CFORM and 
the reverse can be achieved by the 
command IFORM. 

The most powerful feature of the 
compiler is an improvement of the PL1 
defaults system. When PL1 detects an 
error it guesses a correction and con- 
tinues. This can cause problems if PL1 
guessed wrongly, so Splurge II guesses 
a correction and enters it as a com- 
ment. The command IMPLEMENT 
COMMENTS, given after a syntax 
error, causes the guessed corrections to 
be put into effect. 



The Splurge II compiler does not 
produce machine code directly. In- 
stead, the source code is converted into 
P-code via an intermediate step called 
S-code. The P-code is then translated 
into L-code, U-code, R-code and G- 
code, which is finally interpreted into 
E-code or machine code. The Splurge 
II compiler is unusual in that execution 
times are in general longer than the 
times produced by the interpreter. 

At the moment Splurge II is suffer- 
ing minor production problems. The 
copy presented to us for review is in 
five EPROMs mounted piggyback, and 
will only run under operating system 
0.1 EPROM. 

Despite this, it is only a matter of 
time before the bugs are ironed out and 
Splurge II is released on ROM. The 
language is a worthy successor to BBC 
Basic, offering facilities that only occur 
elsewhere in ADA (which is less 
efficient and needs a much larger 
machine to run on). It should put some- 
one light years ahead of their 
competitors. 

Oswaldtwistle 
1 April, 2983 



mmmmmmmmmmmmm 



[ mnmminnnniHHHHMnmnmmHHUHHHHitHMmif 




H & H SOFTWARE 

FOR THE BBC MICRO COMPUTER 





No prizes for guessing who 
the race is between in SHAPE 
and RACE 



£5.50 



EARLY SERIES - ONE, TWO 
& THREE. Educational games 
for young readers. 

£6.50 



TESS. Do you want a 
completely different type of 
Program? TESS is for you. 



£8.50 



ALPHABETA, our Word Processing Package, now has extra facilities including Print 

emphasis and underlining, it's compatible with most popular printers and . . . there's a 

Price reduction. £14.50 for tape and £16.00 for disc version. 



For further details of alt our Programs please send S.A.E. 

Prices include cased cassette, instructions, postage, etc. Please send orders and 

cheques/P<YTranscash (No. 61 413 1707). 

H & H SOFTWARE, Dept. A. 53 Holloway, Runcorn, Cheshire. 

UlMMWlHMllWllMMM 

66 BBC MICRO USER May 1983 





BBC 

BBC Model A 
BBC Model B 
BBC Model B plus 

disk/int £499.00 

BBC Model A*32K £338.00 



Inc. VAT. 
£299.00 
£399.00 




DISK DRIVES mcvAT 

Including utilities, disc and manual 
LVL single 100K drive 

expandable to 2 x 1COK £265.00 

LVL double 1COK drive £389.00 

Acof n 2 x 400K 80 track £804.00 

Torch2x400KZ80 

disk pack £895.00 

Cannon 1 x 100K drive £212.75 

Cannon 2 x 100K drive C388.00 

MONITORS * vat 

Microvitec 14" 

colour monitor £287.50 

Sanyo colour monitor £229.00 

Sanyo green monitor £89.00 

ACORNSOFT he. vat. 

Algebraic Manipulation £9.95 

Arcade Action £11.90 

Arcadians £9.95 

Business Games £9.95 

Chess £9.95 

Creative Graphics £9.95 

Cube Master £9.95 

Desk Diary £9.95 

Forth £16.85 

Graphs and Charts £9.95 

Lisp £16.85 

Meteors .£9.95 

Monsters £9.95 

Peeko Computer £9.95 

Philosophers Quest £9.95 

Planetoid £9.95 

Rocket Raid £9.95 

Sliding Block Puzzles £9.95 

Snapper £9.95 

Sphinx Adventure £9.95 

Super Invaders £9.95 

Tree of Knowledge 

BUG BYTE mcvat 

Airlift £5.50 

Backgammon (A/B) £8.00 

Dragon Quest £1 1.50 

Fruit Machine £5.50 

Golf £5.50 



Multifile (A/B) £15.00 

Polaris £5.50 

Space Pirates (A/B) £8.00 

Space Warp £9.00 

MICRO POWER mcvat 

Adventure £7.99 

Alien Destroyers £7.99 

Astro Navigator £5.70 

Cat and Mouse £5.70 

Chess A £5.70 

Chess B £7.99 

Cowboy Shoot Out £8.85 

Croaker £7.99 

Eldorado Gold £6.85 

Footer £7.99 

Galactic Commander £7.99 

Junky Maths £6.85 

Laser Command £7.99 

Martians £6.85 

Maze Invaders £5.70 

Munching Man £6.85 

ReversiAandB £5.70 

Roulette £5.70 

Seek A £6.85 

Space Maze £6.85 

Swoop £7.99 

> I I G I ICK. .*aaa*ai. t .* . t . t - - • » 4 * 4 " -- t* »* It* t 1 M f- t* I tt tiS '*(Fv 

World Geography £6.85 

U.K. hie. VAT. 

Atlantis £7.50 

BeebBeep £4.50 

Beeb Munch £6.50 

Flags £4.50 

Hangman £4.50 

Hyperdrive £6.50 

Invaders Model A (A/B) £5.50 

Invaders Model B (B) £7.50 

Mutant Breakout (A/B) £6.50 

Super Hangman £4.50 

Strato Bomber £7.50 

3D Maze (B) £4.50 

Word Pro (B) £10.50 

Startrek/Candy 

Floss (A/B) £6.50 

Family Game (A/B) £4.50 

A and F inc. vat. 

Frogger £8.00 

Lunar Lander £6.95 

Painter £8.00 

PharoahsTomb £8.00 

Planes £8.00 

Tower of Alos £8.95 

DIGITAL FANTASIA .*.v»t 

Adventures 1 to 10 

Note: 5 to 10 require 32K all at £8.95 

PRINTERS mcvAT 

Acorn Spark Jet Printer £419.00 

Seikosha GP 100A £338.00 

SeikoshaGP250X £274.85 

Epson FX 80 £504.85 

Epson MX 100 FT III £539.00 

Smiths Corona TP/ 

(Daisywheel) ...../ *** ~** , '«fc tii . £557.00 

NEC PC 8023^fea- ^^.£458.00 



ACCESSORIES .hcvat. 

Cassette Deck for BBC £29.90 

5W Diskettes (Box 10) £20.00 

Cassette Lead For BBC £2.80 

Printer Cable (Parallel) £14.95 

C15 Data Cassettes £0.65 

BBC Joysticks £13.00 



BOOKS 



Inc. VAT. 



• 



£5.95 

£8.95 
£7.95 

£6.45 



30 hour Basic 

ALP tor BBC Micro 

BBC Revealed...; 

Let your BBC Micro teach 

you to program 

Basic Programming on the 

BBC MICRO £5.95 

Creative Graphics £7.50 

Graphs and Charts £7.50 

LISP Manual £7.50 

Forth Manual £7.50 

BUSINESS 

SOFTWARE Ire. VAT. 

Database £19.95 

Commercial Accounts £19.95 

Invoices and Statements £19.95 

Stock Control £19.95 

Home Accounts £19.95 

Mailing List £19.95 

Wordwise £45.00 

View £59.00 

CLARE bo. vat. 

Graph Key £7.95 

Graph Stick £7.95 

Graph Key/Stick/Disk £12.95 

! ORDER: please indicate method ( S ) 

i □ Access/Mastercharge/Eurocard 



CREDIT FACILITIES 

Ask about instant cradtt up to £1,000. Choose ttw 

credit to suit you. The deposit is only 10% of tho 
cost of your purchase. 
We are credit brokers for Lombard Tricity 
Finance Ltd. Interest is just 2.25% per month, 
equivalent to an annual percentage rate of 
30.6%. Ask for a written quotation today! 

CARRIAGE COSTS 

Micro's, Monitors, Disk Drives, Printers - Add 

£8.00 to Computerama price. 

Cassette Decks - Add £3.00 to Computerama 

price. 

Accessories other than above - Add £ 1 . 50 to 

Computerama prices. 

Software -50pp and p. 

Call in today. See the Midlands Home Computer 
Centre for the BK enthusiast. 



Telephone your Access or Barclaycard Number- 
we will despatch immediately. 
STAFFORD (0785) 41899 




Card No. 



D Barclaycard/Visa 

D Cheques/PO made payable to SATCOM Expiry Date. 



I 



Name. 



Address 



i 

Postcode. 

■ Send to: Computerama,! Sash Street, Stafford ST16 2PS. . 

computerama 

The Midland's Home Computer Specialists. 

STAFFORD 

59 Foregate Street, Stafford, 

ST16 2PR. Tel: (0785) 41899 SERVICE 

STOKE-ON-TRENT INF S2SSS2° N 

11 Market Square Arcade, Hanley, l ^ ' : :; 
Stoke-on-Trent, ST1 1PD. 
Tel: (0782) 268620 




wylCORN 
COMPUTER 

DEALER 




May 1983 BBC MICRO USER 67 




"Habit is habit, and not to be flung 

out of the window by any man, but 

coaxed downstairs a step at a 

time." 

Pudd'nhead Wilson - Mark 

Twain. 



IN a recent review of books about 
programming John Laski observed that 
"Flowcharts still hang around in 
syllabuses and codes of practice just 
because the computing pioneers used 
them." 

Old habits die hard and it would be 
hard to explain if some people did not 
still use flowcharts. In view of the 
persistence of old habits, it is remark- 
able that most computing professionals 
and experienced academics find them 
of little value. 

But even if one accepts that 
structured programming is appropriate 

* Roy Atherton is with 
Bulmarshe Computer Educa- 
tion Centre. 



for professionals doing large or com- 
plex tasks, it may be argued that begin- 
ners or amateurs - schoolchildren or 
the personal computing fraternity — 
may find the older methods easier and 
adequate. 

These articles will explain the fallacy 
of this view and show how we can all 
make the best of our abilities, whether 
they be high or moderate, by using 
structured methods. Further, it is 
important for the intellectual and 
educational health of the nation that we 
should do so. 

In saying this one agrees with the 
paragraph about schools in the recent 
Alvey Report: 

"Action must start in the 
schools. We support the moves 
which are now putting computing 
on the curriculum. But, it is no 
good just providing schools with 
microcomputers. This will merely 
produce a generation of poor Basic 
programmers. Universities in fact 
are having to give remedial educa- 



By ROY 
ATHERTON 



tion to entrants with "A" level 
computer science. 

"Teachers must be properly 
trained, and the languages chosen 
with an eye to the future. Un- 
corrected, the explosion in home 
computing with its 1950s and 
1960s programming style will 
make the problem even worse." 
If Alvey and the other opponents of 
what might be called traditional Basic 
programming are wrong, then it doesn't 
matter. A million microcomputers have 
been sold. We're all learning fast. What 
is the problem? Why make a fuss? 

The problem is that if something is 
wrong, it is not wrong on a trivial scale. 
In these circumstances it is worth 
examining the situation very carefully. 
If there is a problem and it is a big one, 
then the rewards for putting it right are 
correspondingly great. 



68 BBC MICRO USER May 1983 







iin 
1 1 1 1 



1 1 1 1 
imi 










nun il 



bib/ - J-j J H 



2?!* 



£&*&y& •o'wissayara ; 



f"fiwyr — "• ••• 



What is not so obvious is that the 
rewards at a personal level can be great 
as well. The writer now knows dozens 
of non-specialist beginners who, after 
the initial extra effort of learning the 
structures, "took off" like young birds 
suddenly able to fly. 

The only real proof of that pheno- 
menon is experiencing it or talking to 
those who have. These articles will take 
Puddn'head Wilson's advice and try to 
show, a step at a time, how structured 
programming came about, what it is 
and why it is so good - for any 
programmer at any level. 

Mark Twain's homespsun philoso- 







^^^BMBM 






1 


i 


1 2023 


2025 




1 


i 


|2024 


program 
counter 




1 


I 


| 2025 




1 


i 


1 2026 ^^\^^ 


central 
processor 




l_ 




_| 2026 







Figure III. Forward jump (decision) 





Figure II. Backward jump (repetition) 



Figure I: A stored program segment 



pher also observed that "Few things 
are harder to put up with than the 
annoyance of a good example". 

In the leisurely days of the mid- 19th 
century amid the abundant natural 
wealth of the Southern States of 
America, Samuel Langhorne Clemens 
took his pen name from the old 
Mississippi riverboats. It means "Two 
fathoms deep", and few would dispute 
the depth of his wisdom, but we have to 
move faster than riverboats now. 

Having encountered pearls among 
the dross of outmoded practices, it is 
no more possible to keep silent than it 
is to conceal the name of a good 



restaurant. The message is hard and 
radical, technically just a few extra 
words added to Basic, but in reality a 
new philosophy and conceptual 
framework for problem-solving. 

It will be easier to follow and accept 
in a historical context so we will start 
with first ideas, a 1950s view of 
computing. 

In those days of glass valve com- 
puters, the pioneers used machine code 
or something close to it. A machine 
code program is physically a sequence 
of instructions, and it sits in sequential 



210 INPUT TAB(13,10) "Enter y or N" A$ 

220 IF AS="YES" OR A$="Y" THEN GOTO20000 

230 If A$="N" OR A$="NO" THEN GOTO 300 — 

240 PRINT CHR$(7) 

250 GOTO 162 — 

300 CLS «- 



310 PRINT TAB(5,5) "LESSON IDENTIFICATION ROUTINE" 



T 



Figure IV: Segment from badly structured program 





C MICRO 







From Page 69 

memory locations, of which a few are 

shown in Figure I. 

Sequential execution is obtained by 
arranging for a program counter to be 
incremented during the execution of an 
instruction. This number determines 
the next instruction to be fetched into 
the central processor and the cycle con- 
tinues. The significance of the program 
counter is that it provides a simple 
mechanism for control transfer — the 
GOTO statement. It is only necessary 
to change the number in the program 
counter to cause backward, forward or 
with a little extra organising, sub- 
routine jumps. 

The 1 960s brought the so-called high 
level languages like Fortran, Cobol, 
Algol and, a little later, Basic. These 
languages enabled more programmers 
to write more programs more easily. 
One of the most significant advances 
was the FOR loop which enabled 
repetition with exit on a count. In BBC 
Basic this might read: 

FOR record = 1 TO 100 

Action on 

record 
NEXT record 

This achieves repetition without the 
explicit use of GOTO. Without a FOR 
structure one could write: 

100 record = 
110 Action on 
record 
200 record=record+l 
210 IF record 10 THEN GOTO 110 
The FOR loop is a structure which 
reflects the thinking behind the 
program. It is about repetition. The 
alternative method required the 
programmer to set up the counter 
explicitly and use what is essentially a 
binary decision concept to cause the 



repetition. This does not seem 
particularly difficult or damaging but we 
have all seen what using GOTO can, 
and usually does, lead to. 

Here is a segment from one recent 
example (Figure IV). A self-taught 
teacher simply lost control of the 

program when it reached 1 10 lines. The 
use of the proper structures not only 
enables better programming - it 
encourages it. 

This could not happen so easily if the 
structures of BBC Basic were used 
properly, as we shall see later. For the 
moment we shall simply note that there 
is a problem and quote some of the 
world's leading computer scientists on 
the subject. 

One of the most famous learned 
articles of all time must be Edsger Di- 
jkstra's "GOTO Statement Considered 
Harmful". 

It has produced a spate of jokey 
references by commentators and 
writers, such as "The Else Must Go" 
and "Programming Considered Harm- 
ful". Dijkstra suggests that: 
" . . our intellectual powers are rather 
geared to master static relations . . . 
our powers to visualise processes evolv- 
ing in time are relatively poorly 
developed. For that reason we should 
do ... our utmost to shorten the con- 
ceptual gap between the static program 
and the dynamic process. 

"The GOTO statement ...is too 
much an invitation to make a mess of 
one's program." 

There is no doubt where Dijkstra 
stands, but it is interesting that in the 
final paragraphs of his paper he refers 
to a remark by Heinz Zemanek in 
Copenhagen, in 1959. Zemanek 
expressed doubts, even then, as to ". . . 
whether the GOTO statement should be 
traced on an equal syntactic footing 
with the assignment statement." 

The ideas had clearly been brewing 



in Dijkstra's mind for some time. In 
1965 he wrote: ". . . two programming 
departmental managers from different 
countries and different backgrounds - 
the one scientific, the other mainly 
commercial — have communicated to 
me, independently of each other and on 
their own initiative, their observation 
that the quality of their programmers 
was inversely proportional to the 
density of GOTO statements in their 
programs. This has been the incentive 
to try to do away with the GOTO state- 
ment. " _ 

Despite the strength of the case the 
view seemed to persist, in the UK and 
elsewhere, that structured programming 
was too hard or not necessary for non- 
professionals. The BBC's first com- 
puter literacy series, "The Computer 
Programme", was based on the old 
methods. Many people urged them to 
change, including 1 1 lecturers from the 
Polytechnic of North London: 

"In view of the future importance of 
computer literacy to the UK, it would 
be nothing less than a national tragedy 
if thousands upon thousands of eager 
young minds were introduced to the 
technology of the 1980s through the 
modes of thought of the 1960s. It is not 
too late to reconsider: we urge you to 
reassess your software policy." 

Reconsider they did. Apart from one 
small lapse, the second series, "Making 
the Most of the Micro", did not men- 
tion the GOTO statement and paid 
proper regard to structured methods. It 
is a very good series of programs, 
certainly good enough to make one feel 
optimistic about the future. 

The BBC joins the Open University, 
another major institution with an in- 
terest in schools, teacher training and 
general continuing education, in having 
"gone structured". In the next article 
we shall begin to see in practical details 
what this means. 



70 BBC MICRO USER May 1983 



REVIEW 



AN EPROM is an erasable read-only 
memory that can be used to store programs 
permanently. They do not lose their 
memory when the power is removed and 
can only be erased by exposing them to 
strong ultra-violet light for about 20 
minutes. This wipes them clean ready for 
(hem to be reprogrammed. 

To program a memory location, the 
address of that location is placed on the 
address pins and the contents required 
are placed on the pins which are nor- 
mally outputs. 

Then one pin, which is called the 
program input, is raised to about 25 
volts and another pin is subjected to a 5 
volt pulse for 50 ms. This procedure 
must be repeated for each memory 
location, so it can take some time if 



several thousand locations are to be 
programmed. 

It is obvious that to do this some 
special hardware is needed as well as 
software to control it. As to who might 
need one, it is almost certainly the case 
that if you have to ask you don't! How- 
ever, they can be used for making 
dedicated computer systems, a plug-in 
cartridge of your favourite software to 
sell or to save time loading. 

One such package is supplied by 
Microtrol Engineering Design. It is 
known as the MEDPROM S3P1 
EPROM Programmer and sells for 
£79. It plugs into the user port of the 
BBC Micro and also requires connec- 
tion to the mains. 




The unit is professionally built in a 
sloping front grey plastic box with a 
screen printed aluminium front panel. 
The multi-way cable to attach it to the 
computer is just about adequate in 
length. 

This model is suitable for connection 
to other computers and software is 
available for the Pet and UK 101, with 
others in the pipeline. One of the design 
features is that it only takes up one 
memory port and so can be connected 
to the user port. Many others need two 
or more connections. 

The EPROM types that can be 
programmed are of the 2k variety, 
2516 & 2716 and the 4k types, 2532 & 
2732. The latter are the ones that hold 
the EPROM version of operating 
system 0. 1 on the early BBC machines. 

The MEDPROM cannot cope with 
the new 8k type EPROMs that hold 
Wordwise and other such programs as 
they are in a 28 pin package. The front 
panel has an EPROM type-selector 
switch, a power switch labelled 
"Remove EPROM", and three red 
LEDs. These indicate "Mains con- 
nected", "Power on the EPROM" and 
"Programming in operation". There is 
also a zero force insertion socket of the 
dual-lever type to accommodate the 
EPROMs. 

The documentation consists of three 
single sheets of operating instructions 
and a double-sided publicity handout. 
These give an adequate indication of 
the procedure to be followed. 

The software comes on cassette and 
was rather difficult to load. This should 
not surprise anyone, but there were no 
instructions about how to make a 
backup copy using your own recorder, 
as this often works better than a 
duplicated tape. The program has been 
supplied at speeds of 300 baud and 
1200 baud to ease this problem. To 
load and run the program you type: 

♦RUN "MEDPROM" 
The program automatically loads into 
the correct location if you only have 
16k of memory. Once running you are 
asked to specify the EPROM type and 
you can then enter any command. 

Commands are available to read a 
section of the EPROM into memory, 
display the contents of the EPROM or 
memory, check that a section has been 
erased, write a section of memory to 
EPROM, and finally, to check a sec- 
tion of memory against the contents of 
the EPROM. All the above require a 
five letter command (which can be 
shortened to two), as well as address in- 
formation in hexadecimal. 

When the EPROM is being 

May 1983 BBC MICRO USER 71 

















1 














1 



programmed it is automatically tested 
to see whether it is blank and checked 
afterwards to see if it has been 
correctly programmed. 

During programming, which can 
take up to four minutes depending 
upon the length, a constantly moving 
number is displayed in the lower left 
hand corner of the screen. This is a 
particularly nice feature and gives you 
something to look at while twiddling 
your thumbs. It also assures you that 
the thing is still working as four 
minutes can seem a long time. 

As the programming procedure is 
written in machine code, very little time 
is wasted and the EPROMs are 
programmed in the minimum recom- 
mended time. 

In operation the MEDPROM 
performed well. I programmed all the 
types it is capable of and confirmed the 
contents by testing them against my 
own system. I have been using 
EPROMs of one type or another for 
about eight years and have come 
across many programming systems. I 
found this one had a few niggling faults 
that would not be expected at the price. 

First, the zero force socket is not of 



particularly high quality. It required the 
EPROM to have its legs straightened 
before insertion and even then it re- 
quired some force to push it home. At 
times the EPROM did not seat 
properly in the socket and had to be re- 
programmed. This is not a fault of the 
specific socket in the machine I had for 
review but a general one with that 
design of socket. With better quality 
ones available it seems a shame to spoil 
the ship for a ha'pe'th of tar. 

In operation the software was not 
very user friendly, forcing you to con- 
stantly juggle hexadecimal addresses in 
your head. This is in some respects 
necessary if you are going to be able to 
program separate sections of EPROM, 
but in my experience the whole 
EPROM is usually programmed at one 

time. 

It would have been quite easy to 
make a virtual system with a little 
thought, that is, one where you need 
not bother about addresses. There is 
also no means of modifying the con- 
tents of the memory, so the 
MEDPROM would be better described 
as an EPROM copier. To be fair, this 
software can link up to a monitor 



program, MEDMON, supplied by the 
same firm, but the EPROM program- 
mer is of little serious use without it. 

Another criticism is that there is no 
indication of how the EPROM 
programmer is squeezed onto one 
input/output port, and so writing your 
own software to overcome these 
shortcomings is made even harder. It 
was not made clear in the instructions, 
but it is possible to re-specify the 
EPROM type and so move the con- 
tents of one type of EPROM to 
another. No re-entry address is given, 
so the program has to be loaded again 
once it has been exited. 

I found the MEDPROM well-made 
and sensibly priced. I would have liked 
to see a better zero force socket and 
friendlier software, but overall it did 
perform adequately. You should note 
that you cannot change any locations 
unless you have the extra MEDMON 
monitor program. 



BBC Micro User's ratings 

*** Value for money 
***** Quality of construction 

** Ease of use 
****** Performance 




ACQUIRE THE COMPLIMENTARY DISC DRIVE 

This superb precision disc drive has been specifically designed 

to give increased versatility to the BBC microcomputer. It is 

made by the world-famous camera manufacturers, 

Canon. Compact and colour matched, it measures a mere 

217mm x 303mm x 63mm. The entire design concept is 

notably advanced and practical e.g. improved head seek 

accuracy has been achieved by positioning the read/write 

heads with a four phase DC stepper motor actuator. 

A wheel provides precise location of the head track. 

The solenoid connected via hardware jumper automatically 

locks the front door when in use, ensuring data security. 

Utilities Disc and Operating Manual available. ^^ ^^ ^ 





SOFTWARE SUPPLIES 



QUITE REMARKABLE VALUE AT 
fcV V U plus VAT 

130 CLAYTON ROAD 

BRADFORD BD7 2LY 



£185 

INCLUDING ALL CABLES 
POSTAGE AND PACKING FREE 



plus VAT 





TELEPHONE: 0274 575973 



72 BBC MICRO USER May 1983 



Pelmanism listing 



From Page 15 



MCHRf(BX) 

340C0LOUR2 : COLOUR 1 28 : ENDPROC 

350REH CLEAR PRINT AND COUNT GOES 

360DEFPR0CCL:THZ=TIHE+200 

370IF AZ(P1ZK>AZ(P2Z) COLOUR i.-PROCSND 
l:PR0CNEN:6OT039O 

380CTX(TX)=CTX(TX)+1:AZ(P1Z)=0:AX(P2I) 
=0:C0L0UR2:PR0CSND2 

390REPEAT UNTILTNKTIHE 

400PRINTTAB(X1Z,Y1Z)C*TAB<X1Z,(Y1Z+1)) 
C*TAB(X2Z,Y2Z)C*TAB<X2Z,<Y2Z+U)C* 

4 10C0L0UR2: ENDPROC 

420REH COMPUTERS TURN 

430DEFPR0CCI1P:TZ=2 

440F0R IZ=1 TO TTZ-1:BZ=NZIIZ):IF BZ=0 
60T0510 

450IF AZ(BZ)=0 60T0S10 . 

460FQR JZ=IZ+1 TO TTZ:CZ=HZ(JZ):IF CZ* 
60T0500 

4701F BZ=CZ 60T0500 

480IF AZ(CZ)=0 60T0500 

490IF AZ(BZ)=AZ(CZ) JZ=TTZ:NEXT:IZ=TTZ 
-1:NEXT:60T0610 

500NEXT 

510NEXT 

520BZ=RND(40):IF AZ(BZ)=0 S0T0520 

530F0R IZ=1 TO TTZ: IF HZ(IZ)=BZ:IZ=TTZ 
:NEXT:6QTQ520 

540NEXT:FOR IX=t TO TTZ:CZ=HZ(IZ) 

550IF AZ(BZ)=AZ(CZ) IZ=TTZ:NEXT:60T061 



560NEXT 

570CZ=RND(40):IF AZ(CZ)*0 S0T0570 

580IF BZ=CZ 60T0570 

590F0R IZ=1 TO TTZ: IF HZ<IZ)=CZ:IZ=TTZ 
:NEXT:60TOS70 
600NEXT 

610PZ=BZ:JZ=(PZ-i)/10:IZ=PZ-l-JZtlO:H 
«JZ*1 

620AZ=254:BZ=253:PROCPRT:P1Z=PZ:X1Z*XZ 
:Y1Z*YZ 

630PZ=CZ:JZ=<CZ-1)/10:1Z=CZ-1-JZ«10:M 
=JZ+1 

640AZ=252:BZ=251:PR0CPRT:P2Z=PZ:X2Z=XX 
:Y2Z=YZ 
650PROCCL: ENDPROC 
660DEFPR0CSNDI 

670FOR IZ=180T060STEP-1:S0UND1,-10,IZ, 
0:NEXT 

680SOUND1,-10,60,2:ENDPROC 
690DEFPR0CSND2 

700FOR IZ=80T0160:SOUND1,-10,IZ,0:NEXT 

710SOUND1,-10,155,2:ENDPROC 

720DEFPR0CNEN 

730IF TTZ>2 FOR IZ=3 TO TTZ:HZ(IZ-2I=H 
UIZhNEXT 




740HZ(TTZ-l)=PlZ:nZ(TTZ)=P2Z 
750ENDPR0C 

760DEFPR0CEND6AHE:C0L0UR130iC0L0UR0 
770PRINTTAB (5,81 "END OF 6AHE'TABt6,12) 



; 



780IF CTZ(1)=CTZ(2> PRINT* A DRAW!!" 
790IF CTZ(1)>CTZ(2) PRINT" YOU WIN" 
800IF CTZ(1KCTZ<2) PRINT' I WIN" 
8l0ez=2:PRINTTAB(4,15)"I Score :"CTZ 
(2) 
820PRINTTAB(4,17)"You score t'CTXilij 
830CTZ ( 1 ) =0: CTZ (2) =0: C0L0UR128: C0L0UR2 

840PRINTTAB(0,24)SPC(80)TAB(1,27) , SPAC 
E to restart: '; 
850PR0C0N 

860IZ=6ET:IF IZ<>32 G0T0860 
870ENDGAME=1 

880ENDPR0C 

890DEFPROC0FF : VDU23j 1 , 32 5 0; } ; : ENDPR 
OC 

900DEFPR0CONiVDU23|10,l67;0jOj0}:ENDPR 
OC 

910DEFPR0CCHAR:LZ=DZ(ZZ)*20 
92060T0 (910+LZ) 

930VDU23,AZ,60,90,60,24,62,93,93,93 
940VDU23,BZ,221 , 181 ,84,84,84, 148,20,54 
: ENDPROC 

950VDU23,AZ,0,24,60,60,126,126,255,60 
9iOVDU23,BZ,126,126 I 255,60,126,255,24, 
24: ENDPROC 

970VDU23,AZ,0,0,0,0, 124, 127, 125, 125 
980VDU23.BZ, 125, 125, 127, 124, 124, 124,0, 
0: ENDPROC 
990VDU23,AZ,0,8,20, 54, 65, 119,54,54 

1000VDU23,BZ,20,20,8,8,16,32,32,64:ENDP 
ROC 

1010VDU23,AZ,0,0,0,0,126,126,126,126 
1020VDU23.BZ, 126, 126, 126, 126,255,255,0, 
0: ENDPROC 



1030VDU23,AZ, 36, 36,60, 36, 36,36,60,36 

1040VDU23,BZ,36,36 1 60,36,36,J6,60,36:EN 
DPROC 

1050VDU23,AZ,0,0,127,119,119,65,119,119 
1060VDU23,BZ,127,64,64,64,64,64,64,0:EN 
DPROC 

1070VDU23,AZ,0,60,66,66,193,161,I59,129 
1080VDU23,BZ,129,129,66,66,60,255,255,0 
: ENDPROC 

1090VDU23,AZ,0,0,0,24,60, 126, 126, 126 

1100VOU23,BZ,126,126,60,24,0,0,0,0:ENDP 
ROC 

1110VDU23,AZ,0,0,0,124,124,124,124,124 
1120VDU23,BZ t 124,56,16,16,16,56,0,0:END 
PROC 

U30V0U23,AZ,0 f 0,124,126,126,9,8,8 
1140VDU23,BZ,8,8,8,8,8,8,8,0,0:ENDPR0C 
1150VDU23,AZ,0,0,8,B, 28,62,127,73 
1160VDU23,BZ,8,8,8,B,28,28,0,0:ENDPR0C 
1170VDU23,AZ,0,20,62,42,62,28,28,62 
1180VDU23.BZ, 126, 122, 122, 122,250, 128,24 
0,1 2: ENDPROC 

1190VDU23,AZ,0,0, 16,84, 124,254, 108,254 

1200VDU23,BZ,124 I 84,16,16,16,8,4,0:ENDP 

ROC 

1210VDU23,AZ,0, 102, 126,90, 126,36,60,255 

1220VDU23.BZ, 255,60,60,60,126, 102,102,0 
: ENDPROC 

1230VDU23,AZ,0,0,0,112,I12,112,112,112 

1240VDU23,BZ,112,U2,U2,124,126,126,92 
,0: ENDPROC 

1250VDU23,AZ,0,0,0,56,68,56, 16, 16 

1260VDU23,BZ,16,16,16,16,28,24,28,0:END 
PROC 

1270VDU23,AZ,0,24,16,16,24,52,B4,82 



May 1983 BBC MICRO USER 73 



— * 



Pelmanism listing 



From Page 73 

1280VDU23,BX I 146 I M5 1 145,255 > 255,127,0, 

OsENDPROC 
1290DEFPR0CIMIT 
1300END6AHE=0 
1310PR0C0FF 
1320VDU23,255,255,255,255,255, 255, 255,2 

55,255:C«=CHR$(255) 
1330VDU19,3,2,0,0, 0,19,131,2,0,0,0 
1340TX=1:F0R JI=1T0 DX:TI=TI»2:NEXT 
1350TTX=TX:1F TTX>40 THEN TTXMO 
i360VDU12:C0L0UR2:PRIMT" ' ' " 12 3 4 

5 6 7 8 9-; 

1370F0RIX=1T015:PRINT' ■STRIH6I(19,CHR$ 

255);: NEXT 
1380PRINTTAB(0,7)"A'TAB(0,10)"B" 

1390PRINTTAB(0,13) , C"TAB(0,16) , D , { 
1400F0R JX=1T04 
1410F0R IX=0T09 
1420YX=4+JX*3:XX=IX#2+1 
1430C0L0UR1:PRINTTAB(XX,YX)C$TAB(XI,«YX 

+1> )C*:C0L0UR2 
1440NEXT:NEXT 
1450F0R IX=lT040:AX(IX)=IX/2+.5:l1I(IX)= 



0:NEXT 

1460REH SHUFFLE THE CARDS 

1470F0R IX=1T040: ZX=AX(IX) : Z1X=RN0(40) : 
AX(IX>=AX<Z1X>:AXU1X>=ZX:NEXT 

1480ENDPR0C 

1490DEFPR0CVBLE 

1500*FX4,1 

1510DIH AX(40) ,HX(40) ,CX(20) ,0X120) ,C1X 

(20),CTX(2) 

1520F0R IX=1T020!REA00HIX):NEXT 
1530FOR II=1T020:READCI(IXI:NEXT 
1540F0R II=1T020:READCU(IX):NEXT 

1550ENDPR0C 

1560DEFPR0CTITLE 

1570PRINTTAB(7,5)CHR»141CHR$130 , t»* PE 

LHAN1SH »***• 
1580PRINTTAB(7,6)CHR$141CHR$130 , *t«PE 

LHANISN ****" 
1590PRINTTAB(4,101CHRtl3t" Can you re 

aeiber ■ore' 
1600PRINTTAB(4,ll)CHR$131* Pairs than I 

can ?' 

1610PRINTTAB(3,15)CHR$134; 

1620INPUTTAB(4, 15) "Choose degree of dif 
ficulty(l-6)? B 01 



1630 IF DX<1 OR DZ>6 60T01&20 
1640PRINTTAB(3,20)CHR*133;:P1C=0 
16501NPUTTAB(4,20)"Do you wish to see t 
he cards (Y/N)?' If 
1660IF H»*r OR I$="YES' PIC=1 

1670ENDPR0C 

1680DEFPROCPIC 

1690PR0CINIT:AX=254:BX=253 

1700F0RIX=lT040:AX(IX)=II/2+.5:NEXT 

1710F0RlX=0T09sF0R JX=!T04 
l720PX=10t(«-l)+l+IX:PROCPRT: 

1730NEXT:NEXT 
1740PRINTTAB(0,24)SPC(80)TABU,27) , SPAC 

E to restart:'; 
1750PR0C0N 
1760IX=6ET: IF IX<>32 60TOB60 

1770ENDPROC 

1780IF ERR=17 60T040 

1790REP0RT: PRINT" at line "ERL:END 

1800DATA 1,2,3,4,5,6,7,8,9,10,11,12,13, 

14,15,14,17,18,4,18 
1810DATA 1,3,3,1,0,0,1,0,3,1,1,2,0,1,2, 

1,1,3,2,1 
1820DATA 0,0,0,0,131,131,0,131,0,0,0,13 

1,131,131,0,0,0,0,131,0 



SIR COMPUTERS LTD — CARDIFF 

Agents for Acorn, BBC and TORCH Computers 



BBC Microcomputers 



£399.00 
£509.00 
£249.00 
£389.00 



Model B 

Model B with disc interface 

Single 100K disc drive 

Dual 2 * 100K disc drive 

The disc manual and utilities disc are both included. 
Disc interface for the BBC Micro 

Rued'*;;^^""^ 

Upgrade of BBC Model A to B £90.00 

Please telephone for up to date information on Prestel. Teletext. 

speech synthesis, second processors, etc. 



£95.00 



6 



TORCH Computers 



Z-80 Disc Pack tor the BBC Microcomputer £897.00 

This unit connects to the BBC Micro in the same way as a normal 
disc drive, but as well as offering a dual 2 * 400K disc drive for use 
under BBC BASIC or other languages it provides the option of 
using the wide range of CP/M software available for business and 
data processing applications. The firmware supplied with the 
machine allows switching between BASIC and CPN, a powerful 
operating system developed from CP/M 2.2. 
In addition to the disc pack a second processor is supplied. This is 
a Z-80A with its own 64K RAM card, communicating with the 
6502A in the BBC computer through the Tube'. Typically the 
speed of execution of programs under the twin-processor system 
is increased by up to 50% compared with a conventional single- 
processor computer. A third processor, the 16 bit 68000. 
shortly be available. 

SIR Computers Ltd., 91 Whitchurch Road, 
Cardiff. Telephone: (0222) 21341 



Wll 



TORCH CF240 £2795.00 (ex VAT) 

This is an extension of the BBC microcomputer/Torch disc pack 
system, available in a single unit. The computer contains a BBC- 
based peripheral processor connected to the main Z-80 computer, 
a dual 2 * 400K disc drive as described above, a high resolution (80 
character) colour monitor and a complete British Telecom 
approved 1200 baud modem. It is the only microcomputer which 
has been granted permission for direct connection to the Public 
Switched Telephone Network both in the U.K. and the United 
States. 

The TORCH can communicate either directly with another TORCH 
or with virtually any other type of computer via Prestel. Using the 
Gateway facility of Prestel it is possible for the TORCH to access 
vast amounts of information stored by private organisations on 
public database systems. The Mailbox facility of Prestel also allows 
the use of electronic mail. 

TORCH CH240/10 As above but with a 10 MB hard disc drive. 
TORCH CH240/21 As above but with a 21 MB hard disc drive. 

PERIPHERALS 

SeikoshaGP 100A Printer cSonn 

NEC PC 8023 Printer., "89.00 

Kaga 12" RGB Monitor, "80.00 

Sanyo 14" RGB Monitor ZAl 

High resolution 12" black/green monitor to&.uu 

Please send for details of New Epson Printer Range. 

SOFTWARE 

We currently hold in stock programs from the following suppliers. 
Acornsoft, A&F Software, Bug Byte, Computer Concepts. Digital 
Fantasia, Golem. UK Software, Level 9 Software, Molimerx, MP 
Software, Program Power, Salamander Software, Software for All, 
Superior Software, Database Software. Gemini Software. 
Unfortunately we are unable to supply software by mail except as part 
of a large order. Delivery by Interlink of any of the above items £10.00 
Unless otherwise stated all prices Include VAT. 



74 BBC MICRO USER May 1983 



A NEW BOOK FOR 

Fl RST Tl M E 




tr 



"Learning to Use the BBC Micro 

is in a new series of books which 
introduces newcomers to the 
most widely used micros in the 
marketplace. 



The books assume absolutely 
no knowledge about computers 
and the reader is shown even the 
most fundamental operations 
such as "switching on" and 
" loading a program". The books 
lead the reader through simple 
programming and then on to 
graphics, with several programs 
which show how to achieve 
pictures and even animation! 

The user-friendly approach is 
consistent throughout the text - 
not only are program listings 
clearly shown, but in many cases, 
a photograph is included to show 
what the program looks like when 
actually loaded and run! 

All books in the series are £5.95 
(incl. postage). 

Gower ' 




"The Learning to Use" series 
will bring comfort and help to 
many first time microcomputer 
users. The books represent the 
first genuine approach to 
assisting the beginner to get to 
grips with the best selling 
personal microcomputers . . ." 

Communicate 



Order Form to: READ-OUT BOOKS AND SOFTWARE 



8 CAMP ROAD, FARNBOROUGH, HANTS, GU24 6EW. 
24 Hour Answering Service. Telephone 0252 510331/2 



Name 



Address 



Please send me copy/ies of 

□ Learning to Use the BBC Microcomputer 

@ £5.95 including postage and packing. (Allow 14 days for delivery.) 

Make cheques payable to Read-Out Publishing Company Ltd. 
I enclose my cheque for £ 



£5 



Please debit my Access □ 



Signed 



Number 



Date 



BBMU5 



May 1983 BBC MICRO USER 75 




i I lion 1 




xt must 
J5r as I have 
ig each possi- 
requires only 512 
Ft needs another 2048 
loading. I 

[rams are written to run on all 
Js with or without the ECFG 
fii tests must be included to establish 
"whether ECFG is present or not. I 
The large number of colours avail- 
able means that many cannot be dis- 
criminated by the human eye, but in 
practice a very wide selection of 
colours is available and in addition to 
the colours it is possible to create 
patterns and textures, which can be 
very useful when drawing complex bar 
charts or diagrams. 

The effect is created by using a much 
larger colour mask than normally used 
by the BBC Micro. This allows the user 
to choose the colour of each individual 
pixel when using the more complex of 
the two options, or if the user friendly 
option is used the user can control the 
amount of each of the primary colours 
within an area. I 

It is the mixing of the various 
colours within this small area that 
provides the additional colours. So 50 
per cent red pixels and 50 per cent 
yellow will give orange, or 60 per cent 
red and 40 per cent yellow will give a 
deeper orange and so on. I 

The colours are accessed using the 
PLOT 81 or 85 commands, which are 
those used for triangle drawing. 



76 BBC MICRO USER May 1983 




hem, 



shape 
other shape 



idard BBC Micro the 
Fline and area are controlled 
byte (8 bit) line mask that is I 
high by 8, 4 or 2 pixels wide in the 
2, 4 or 16 colour graphics modes 
respectively. So in MODE 2 the line 
mask is 1 pixel high by 2 pixels wide. 

When using the ECFG the PLOT 81 
or 85 commands are controlled by an 
area mask that is 4 pixels high by the 
normal 8, 4 or 2 pixels wide. Thus the 
colour mask is made up of 32 bits as 
opposed to 8, which can each be set to 
its own individual value giving 2*32 
(four billion) possible combinations. 

The problem with such a vast 
number of possible combinations is in 
being able to predict the results so that 
they can be made use of. This will 
become easier as the user gets to know 
the program better. 

I Two extra commands are provided 
to control the effects of ECFG: 

VDU18,L,32,C1,C2,C4,C8 

| and 

VDU18,L,64,R1,R2,R3,R4 

where L is the logical colour to be 
defined, C is the amount of colour 
1,2,4.8 to be used and R is the range of 

1,2,3,4. 

The first statement is the user 
friendly one and is identified by the 32 
following L. This instructs the com- 
puter to expect and use the values of 
C1,C2,C4,C8. CI is red, C2 is green, 
C4 is blue and C8 is flash, and the 
values given to them are the proportion 
of each colour to be used to construct 
the new colour L. 

Red, green and blue are the primary 
colours that make up all others and 
flash can be used to introduce grey 
tones. 

For instance, the statement 
VDUI8,0,32,32,32,0,0 will assign 



DAVID CLARE 

examines Gaelsett's 

extended colour fill 

graphics package 



logical colour (normally black) to be 
yellow. The value 32 gives the full in- 
tensity of a colour and the above state- 
ment tells the computer to use 50 per 
cent full intensity red plus 50 per cent 
full intensity green to give yellow. 

The intensity and number of the 
colours used can be altered to provide 
the 6561 possible colours. 

Further investigation shows that in 
MODE 2 colour 1 is red, colour 2 is 
green, colour 4 is blue and colour 8 is 
flash (see page 223 of the User Guide). 
Colour 3 is yellow. Red(l) + green(2) 
= yellow(3). It is this type of logic that 
makes the BBC Micro special and 
although the logic is not always 
apparent it is usually there if looked 
for. 

The 64 in the second statement in- 
structs the computer to expect and use 
values for Rl to R4. The values can be 
in the range of to &FF(255) and 
allow binary on/off control of the 4 



pixel high area mask. It is this state- 
ment that controls the area fill patterns. 

Once the colours and patterns have 
been defined using the VDU18 . . . 
statement they can be accessed by 
using the PLOT 81 or 85 commands. 

Although some of the effects and 
colours can be produced by using over 
range GCOL statements the ECFG 
program takes this a lot further and 
gives many more options with more 
control over them. 

As is often the case with utility 
programs, the documentation leaves 
much to be desired and anybody 
purchasing this program will have to be 
prepared to spend many hours in- 
vestigating its use. Some demonstration 
programs are provided, and these can 
be altered to obtain various effects. 

Although the program seems a bit 
expensive at £10 anybody needing or 
wanting to use a larger pallette has no 
real alternative to buying it - and it will 
do what it claims. However, I cannot 
help wondering why Acorn did not in- 
clude these facilities in the ROM along 

with user friendly methods of using 
them. 

To get an idea of the effects possible 
enter the following short program 
which gives some colours not normally 
available on the BBC Micro: 



10 MODE 5 (Any graphics mode can be used) 
20 X"/.=0 

30 PRINT TAB (2, 2) "X/>" ; X7. 

40 GCOL X"/., 1 (Try changing the t for other 
numbers) 

50 PLOT 85,RND(1000) ,RND(J.OOO) 
60 *FX15,0 
70 wait=GET 

SO X%«X%+1 

90 GOTO 30 



Each time a key is pressed X% is in- 
creased and a new triangle is drawn - 
try it now.fi 



. 



May 1983 BBC MICRO USER 77 



may 



I carn't spelfour tof e 



/ SHOULD know by now not to look up when the editor comes in. I 
did. A nd he pounced. "You 're not doing anything. Earn your keep and 
write me an article on editing." I say my opening: "Then you admit I 
know more about editing than you. Why not let me have your job?" 
"Editing on the BBC Micro, idiot, " came the stuffy reply. He went 
back into his office to "review software" - his term for playing games 
on the Beeb. 



HAPPILY, unlike me, the BBC Micro 
has a very good editor. With it you can 
alter programs already in the machine, 
enter lines or delete them at will and, if 
you think about what you're doing, you 
can save yourself a lot of typing. 

The whole point of this editing 
facility is that you can use it to change 
things. On one level you are just chang- 
ing the display on the screen but on 
another the editing facility changes the 
program in the machine itself — it 
actually alters the software. This ability 
gives the BBC Micro a great deal of its 
versatility, so it's worth knowing well. 

Being human we all make mistakes 
and, unless you are quite exceptional, 
you will find yourself making all sorts 
of typing errors. If you are lucky 
enough to catch yourself before you 
press the RETURN key and enter your 
mistake there is an easy method of 
correction. 

The incorrect line will be the last on 
the screen, say: 

10PIRNT"A SILLY ERROR"- 
with the flashing cursor at the right 
hand end. All you have to do to rub out 
an unwanted character is to press the 
DELETE key which you'll find on the 
right of the keyboard. The character 
next to the cursor will disappear to be 
replaced by the cursor itself. In the 
example if you press DELETE once 
this is what you see at the bottom of 
your screen: 

lOPIRNT'A SILLY ERROR- 

You can carry on deleting right the 
way up to the command prompt " > ", 
the cursor moving to the left each time. 
You'll probably have noticed that keep- 
ing the delete key pressed makes it 
repeat its function, rubbing out the line 
from right to left. Once you have 
erased the error you just type in the 
correct characters. When satisfied with 
the corrected line press RETURN as 
usual. 

This is quite simple, but if you have a 
long line with the mistake at the beginn- 
ing you may feel that deleting it all 
takes too long. Once again the BBC 
Micro comes to the rescue. If you want 
to get rid of the bottom line entirely just 




press the CTRL key (on the left of the 
keyboard) and the letter U at the same 
time. The bottom line with all its 
characters will disappear and you can 
retype the whole line. 

Sadly, all of this is no good to you if 
you have already entered an incorrect 



By NIGEL 
PETERS 



line. Suppose you had something like: 
50 PIRNT "A SILLY MISTAKE" 
actually in a listing. Obviously it will 
have to be corrected. "PIRNT" should 
be "PRINT". How do you go about 
changing what is already in the 
machine? The delete button won't work 
once you have pressed RETURN and 
the line is part of a listing. 

You have two alternatives. The 
straightforward one is to get rid of the 
incorrect line 50 by typing in the 



correct line 50, that is, you type in: 
50PRINT "A SILLY MISTAKE" 
press RETURN, and the machine 
accepts the new line. 

This is easy, but can be a bit 
laborious. Imagine a line of some 200 
characters, only one of which was 
wrong! It would be far too time con- 
suming to have to re-type the whole 
200 characters for one mistake, so now 
is the time to make use of the second 
alternative. 

If you look to the right of the key- 
board you will notice some light brown 
keys. Four have arrows on them and 
one is marked "COPY". The keys with 
arrows are the cursor controls and, 
with the "COPY" key, you can use 
them to alter program lines quickly and 
easily. 

Type in the following program, 
which will be used for examples 
throughout the article. I know it doesn't 
look very neat but bear with me for 
now, I'll be doing something about it 
later. Since this article is about correct- 



78 BBC MICRO USER May 1983 



ing mistakes, it might help if you made 
a few errors, deliberate or otherwise! 
10 REM EXAMPLE 
20 Y = 1 
30 REPEAT 
40 FOR X = 1 to 5 
50 PRINT "BBC MICRO USER 

RULES, O.K?" 
60 NEXT X 
70 Y = Y + 1 
80 UNTIL Y = 3 
Suppose we had typed in and entered 
60 NXET X 
and we want to correct it. In this case it 
would be easy to type in a new, correct 
line 60, but let's try using the cursor 
keys and "COPY"— JP|0 JV 
Start with the four cursor keys, 
"t'\ "*", "* \ "-»". Press them a 
few times and you'll notice that the 
flashing cursor moves rourTel the screen 
(leaving a white block at the bottom of 
the screen which we'll ignore for the 
moment). flf 

The cursor moves in the direction in- 
dicated on the key you press. If you 
press the " f key the cursor moves u 
one line, If you press the *-»" key th 
cursor moves one space to the right, 
leave it to you to find out what the 
"4> " and "<-" keys do to the flashing 
cursor. You will notice that if you keep 
a key depressed it repeats its function 
and the cursor can shoot off one side of 
the screen to reappear at the other. 

Normally the flashing cursor stays 
on the bottom line showing where the 
next character you type in will appear. 
When it goes on its travels about the 
screen under the influence of the cursor 
keys it loses its ability to show where 
the typing goes. It becomes what is 
known as the "read" cursor and I'll 
explain what it reads in a moment 

Meanwhile, what about the white 
square that stayed stubbornly on the 
bottom line while the cursor wandered? 
It appeared in the place where the 
flashing cursor was before we sent it off 
on its travels and it's called the "write" 
cursor. 

Ignoring the flashing "read" cursor, 
try typing in a few characters. You will 
see that they appear on the bottom line 
of the screen, the "write" cursor 
moving to the right along the line show- 
ing where the next character will 
appear. In fact the "write" cursor 
behaves just like the flashing cursor did 
when it was on the bottom line. You 
can even use the "DELETE" key to 
erase the bottom line, the "write" 
cursor moving to the left. 

So, I've got a flashing 'read' cursor 



that I can move around the screen 
using the cursor keys and I've got a 
square 'write' cursor on the bottom line 
which allows me to type in characters 
in the usual way. "How can I use these 
to correct my mistakes?" you might 
ask. 

This is where the "COPY" key 
comes in. When, under the influence of 
the arrowed keys, the flashing cursor 
leaves the bottom line the BBC Micro 
enters what is known as the editing 
mode. In this state if you press the 
"COPY" key whatever is under the 
flashing cursor (the "read" cursor) will 
agiBHy appear on the bottom line of 
the screen, written by the "wri 
cursor. It will have been copied! 



tt 



4*1 



characters, for example: 

Read" cursor line: 60 NXET X 
Write" cursor line: 60 NEXD 
You can then move the "read" 
cursor to wherever you want it to be on 
the screen, that is, past the mistake 
onto the correct bit and when you press 
"COPY" whatever is above the "read" 
cursor will be copied to the last line, 
appearing after what you typed in. 

In the example you would move the 

"read" cursor to below the T, that is: 

"Read" cursor line: 60 NXET X 

"Write" cursor line: 60 NEXD 

Then you would press "COPY" and 

transfer the rest of the line, which is 



id you get: 



•itc" correct, to the bottom. Press "COPY" 

Ute most things on the BBC Micro, "Read" cursor line: 60 NXET_X 

ft is a lot easier to do than to read "Write" cursor line: 60 NEXTD 

about, scnet^un^a bifflDf practic^^ an^T^on Mtil ™ bottom line is 
Suppose we want to correct a line in a 




listing that looks like this: 

60 NXET X 
se the cursor keys to position, the 
d'V cursor under the **6" of the 
60". Now press the "COPY" key and 
two things happen. The flashing "read" 
sor moves one character to the right 
and at the same time the 6 appears on 
the last line of the screen^ne "write" 
cursor moving to the right as well. For 
example: 



correct. Then all you do is press 

RETURN in the normal way, the new 

correct line is entered and the flashing 

cursor appears next to the command 

prompt as usual. Editing mode has 
ended. 

Although the example was fairly 
trivial, you can imagine that with a 
long line with only one error, using 
"COPY" is a lot easier than retyping 
the whole line. Also, by paying atten- 
tion when typing in listings, using 



Before pressing "COPY" 
"Read" cursor (anywhere on the screen) 60 NXET X 
"Write" cursor (last line) □ 



After 
60 NXET X 
6D 



Press "COPY" again and the same 
thing happens with the 0. Using the 
"COPY" key you can copy the whole 
line to the bottom of the screen, but this 
would be a little silly, as all you would 
be doing would be to duplicate your 
original mistake! 

What you do is use the "COPY" key 
to read the incorrect line and copy it to 
the bottom line up to where the mistake 
occurred. Then you can type in the 
correct characters which appear on the 
bottom of the screen. You'll notice that 
when you type in characters the 
"write" cursor moves to the right as 
normal. The "read" cursor stays put. 

In the example you would COPY up 
to where the "read" cursor was below 
the "X" 

"Read" cursor line: 60 NXET X 
"Write" cursor line: 60 ND 

Then you would type in the correct 



"COPY" can save you a lot of typing. 
Imagine a program like: 
200 PRINT "ABCDEFG" 
210 PRINT "ABCDEFGH" 
220 PRINT "ABCDEFGHI" 
You could type in each line 
separately, but wouldn't it be easier just 
to copy line 200 with a few modifica- 
tions to produce 210 and 220? A little 
practice and forethought can save a lot 
of typing. 

Anyway, enough of cursor keys and 
"COPY". If you want practice try putt- 
ing all the words and numbers that 
formed the example program on one 
line using cursor keys and "COPY". 
Then from that one line try recreating 
the original program with no typing in 
allowed. I guarantee that you'll be an 
expert by the time you have finished 
that! 

Which is more than can be said for 
my editor . . . Q 



May 1983 BBC MICRO USER 79 



BBC 
MICRO 

USER 



A subscription 
will ensure you 
get your own 
personal copy 
HOT OFF THE 
PRESSES month 
after month for 
the next year. 



Be one of the 
first to get 
each issue ! 

Every owner of a BBC Micro - and everyone thinking o 
buying one - needs to get BBC Micro User every month. 
It's the biggest, brightest, most authoritive yet completely 
independent guide to a machine that has so much potentic 
you will never tire of reading about its remarkable 

capabilities. 

You can buy BBC Micro User from your local newsagei 
or station bookstall. Or you can take out a 12 months 
subscription and have it delivered by post. 




Copies of 
these back 
issues are 
still available 

at £1.25 




MICRO 
USER 



tapes of 
programs 

from BBC 
Micro l/serl Dea 



BBC 
MICRO 

USER 



KONG 



thwatch' 



£3.75 



a nd 24 other program* 
ttl in the pa.es of 

BBC Micro User 

Vol. 1. No- 1- 



and 22 other programs 
listed in the pages of 
BBC Micro User 
Vol. 1, No. 2. 



MICRO 
USER 



AIR STRllfci 



& 



»"«*33 otn97 _ 

-y^ij. no I ,cro u «" 



fl 



Or take out a year's subscription and have your cassette posted to you each month. 
You can start your subscription from any issue to take advantage of this offer. 



80 BBC MICRO USER May 1983 



♦till 



ORDER FORM 



■■■r> 



COMPLETE THIS 
COUPON TODAY 



If you take out a subscription to BBC 
Micro User you mil receive completely 
free the sturdy copy-holder illustrated 
above, together with a large crib card 
containing essential information and 
charts that will save you continually 
referring to the User Guide. This free 
gift is for a limited period, so subscribe 
now! 




£6.29 

Blue printing on either light blue or white backgrounds 




I 



All prices include postage, packing and VAT, 
and are valid to 30 June 1983. 

Please enter number 
required in box 



BBC Micro User 
annual subscription 



UK £12 

EIRE £13 

EUROPE £18 

Surface mail - USA £15 

Air mail - USA £25 

Surface mail - Rest of world £15 

Air mail - Rest of world £30 

Commence with issue TOTAL 



BBC Micro User back issues 

I I £1.25 UK 

Rest of world: 
£1.50 - Surface 
£2.50 - Air mail 



March 1983 
April 1983 




TOTAL 



Cassette tape 
annual subscription 

£40 (UK & Overseas) 



TOTAL 



Cassette tape single 
£3.75 

(UK & Overseas) 



coptes 



March 1983 
April 1983 
May 1983 





TOTAL 


Dust Covers 
£3.25 

(UK & Overseas) 


TOTAL 


Binders 

£3.95 - UK 
£5.00 - Overseas 


n 

TOTAL 



T-Shirts £3.29 (UK & Overseas) 
Sweatshirts £6.29 (UK & Overseas) 



Age 6-8 28" 

Age 10-12 30"-32" 

Small 34"-36" 

Medium 36"-38" 

Large 38"-40" 

Extra Large 40" -42" 



T-Shirt 


Sweat Shirt 


Blue 


White 


Blue 


White 



















































TOTAL 



Payment: please indicate method (/) 



TOTAL 



Access/ Mastercharge./ Euro card 

Bare I ay card/Visa 
American Express 

Card No 



Name 



Expiry Date 

Cheque/PO made payable to Database Publications Ltd. 



Address 




Signed 

Send to: BBC Micro User, FREEPOST, Europe House, 
68 Chester Road, Hazel Grove, Stockport SK7 5NY. 

(No stamp needed if posted in UK) 



Or you can order by phone 
quoting credit card number 
and expiry date. 



061-456 4157 

9am - 5pm 



% mmm „- „„„ „ *? 



May 1983 BBC MICRO USER 81 



SOFTWARE SCENE 









Go down that 
painted trail 
to pleasure 




Painter (A&F) 



PAINTER is a sheer delight to play - a 
compulsive, fast-action game and far 
more refined than the usual "bang 'em, 
shoot 'em" arcade type. 

It is hard to convey the excitement of 
the game in words. You simply move 
your man round a grid composed of 
rectangles, leaving a trail behind you. 
When your trail surrounds a rectangle 
it is "painted in", and you score a vary- 
ing number of points. 

However, while you're doing this 
you are pursued by a creature intent on 
destroying you. Your aim, of course, is 
to avoid that fate while achieving as 
high a score as you can. 

On the lower levels, the beastie is 
relatively unintelligent and scoring is 
rather easy. However, once you've 
filled in all the scoring rectangles, you 



move onto a new, more complex grid, 
and the creature's IQ increases. 

Worse still, as you ascend the skill 
levels, more creatures appear in 
pursuit. I am sure whoever thought of 
this game had the DTs at the time. To 
counter this, you can "break" the grid 
line to prevent them following you. 
While the respite gained is only 



Invasion 



I'M sorry if this review isn't up to the 
usual BBC Micro User standard, but 
I'm not one of the regular reviewers. In 
fact this is the first review I've ever 
done. You see the person who should 
be doing it was last seen running away 
from the office screaming "No, not 
another Space Invaders game, I can't 
take it any more." 

I don't understand what has upset 
him. Software Invasion has produced a 



temporary, there's an immense 
satisfaction from using two such breaks 
to bottle one of the enemy up - it goes 
wild with frustration! 

The game is beautifully designed 
from every angle. It is visually appeal- 
ing, simple to learn and exceptional fun 
to play. One for all the family. A&F 
are onto yet another winner. 

of invaders 



Invaders (Software Invasion) 

fine version of the arcade game, quite 
fast but not too difficult. The colours 
are nice and the instructions adequate. 
No, I can't see what has upset him at 

all. 

Now let's have a look at those next 

cassettes. Oh no, surely they can't all 

be, not all of them . . . 




Basic, but busy, moonlander 



"WHY?", I asked myself, as I loaded 
Software Invasion's Apollo, "should 
anyone bother producing a moonlander 
game when there are lots of listings 
available?" 

The graphics didn't help my doubts. 
They were adequate but hardly made 
full use of the BBC Micro's facilities. 
No, there didn't seem much point in the 
exercise. 

But having said that I kept on trying 



Apollo (Software Invasion) 



to land the lunar module safely. The 
game may be an old idea but it's still 
fun, and Software Invasion have 
produced a competent easy-to-play 
version. 

You take the Apollo craft from orbit 



round the moon to a, hopefully, safe 
landing, four different screens being 
displayed on the way, and the more 
landings you achieve the more difficult 
the terrain becomes. 

So the choice is up to you. If you 
wanted you could type in a listing, but 
if you can't be bothered and want a 
basic but adequate version of a moon- 
landing game then Apollo would meet 
your needs. 



L L L E L L L ■ ^ L L M ■ L H. ■ L L L L ± "L L ■ L H. ■ ■ V L L L L "L M ± "L "L ■ X ILL L ± L "L L L L "L ■ ■ ■ I E M ^^^T "L 




aBro ^ ^^ 




82 BBC MICRO USER May 1983 



By MARGARET TURNBULL 



Not the best banner bearer 



HOME Finance, marketed 
by BBC Soft and created by 
the Consumers' Association 
(the publishers of Which?) is 
a colourful, presentable 
package, containing a 
booklet and cassette. 

The booklet is clearly 
written and gives you fair 
warning of all the facts you 
need to amass before run- 
ning any of the programs. It 
also indicates some of the 
limitations involved. 

The cassette contains four 
programs, all recorded once 
on one side at 1200 
(standard rate) baud. There 
were no loading problems 
encountered in loading via 
three different cassette decks. 

From a software point of 
view I was very disap- 
pointed. None of the 
programs initialised the com- 
puter in any way, presuming 
the machine to have just 
been switched on, so 
problems could be and were 
encountered by the machine 
being in the wrong MODE/ 
screen-scroll set/ the effects 
of cursor-control keys etc. 

The only BBC micro 
facilities utilised were 
occasional double-height 
characters, a little back- 
ground colour and the accep- 
tance of numbers (say 1.5) to 
be input with a comma (such 
as 1,5), although the latter 
facility was not in all 
programs. 

Each program did contain 
a good REM list at the start, 
defining the intended use of 
all variables, but the code 
overall was ponderous, in- 



ome Finance (BBC Soft) 




efficient in many places (in 
Basic terms) and, would you 
believe, not a PROC in sight! 
I found all four programs 
very poor examples to carry 
the BBC banner to the public 
in general - particularly to 
those whom on acquisition 
will list them and try and use 
them as a programming 
guideline. 

Program I: Heating 

Purpose is to estimate the 
cost of heating your home. It 
takes into consideration eight 
different types of heating 
system, the temperature and 
time duration required, and a 
fairly detailed definition of 
the house. 

Before running it you need 
to arm yourself with a large 
number of facts (detailed in 
the accompanying book) 
such as the cost of various 
fuels, the area of your floors, 
windows, roof and con- 
struction. 

As most households are 
heated by more than one 
source, and the program 
only offers a single option 
system, the results obtained 
are bound to be inaccurate. 

From my household cal- 
culations the program over- 
estimated by £12 a month. 

After the initial result has 
been attained you can alter 
the fuel/hours/temperature 
and quickly see what the net 
effect would be. 

It would have been nice if 
single/double glazing and 



draughty/not draughty op- 
tions had also been included 
in this list. 

I found the initial question 
and answer system very off- 
putting in that there was a 
constant screen full of text as 
the program scrolled forever 
onwards. (And why should 
Yes or No be answered by 
typing 1 or 2?) 

Program II: Rent/buy 

This enables you to com- 
pare the costs involved in 
renting an item as opposed 
to an outright purchase, over 
a period of five years. It does 
not facilitate credit 
purchases, or items where 
tax relief may be gained. 

Within the calculation it 
does take into consideration 
such things as the rate of in- 
flation, rate of lost interest, 
annual service contracts and 
the secondhand resale value. 

The initial questions were 
asked in a scrolling screen 
mode and the results table 
was reasonably presentable 
after jumping its way to the 
top of the screen. 

However my copy of the 
program contained a 
mathematical error within 
the rental calculation (a TV 
rented at £180 per year for 
five years would have cost 
£2,470!) 

Program III: Borrowing 

The intention of this pro- 
gram is to help you select a 
suitable source from which 



to borrow money. 

You can borrow up to 
£999,999 with repayments at 
any one of five methods per 
year (weekly, monthly, etc). 
Repayment period, rate of 
interest and tax relief are all 
taken into consideration. 

The results are tabled, 
showing how much it will 
really cost you and the effec- 
tive interest rate after tax 
relief, if applicable. 

Not an inspiring program, 
the maths is pretty basic, but 
no doubt included in the 
package for completeness. 
Program IV: Saving 

This program attempts to 
show the interest you will ac- 
quire when saving either a 
lump sum of money or by 
regular payments. 

It shows a fairly wide 
cross-section of options and 
takes into account tax and 
inflation rates. 

You will have to keep 
changing the interest rates to 
keep up to date, as the 
program starts with a set 
from last year. 

Again the screen scrolled 
on, but for a brief moment 
you do get a second colour. 
Summary 

My initial enthusiasm 
when presented with this 
impressive package rapidly 
evaporated due to the unim- 
pressive screen usage and 
program discrepancies. 

I feel, as both a house- 
holder and home economics 
teacher (covering these sub- 
jects), that the package falls 
somewhat short of value for 
money. 



May 1983 BBC MICRO USER 83 



From Page 19 

Program III 

10 NODE 7: VDU23; 8202;0; 0; 0; 

20 DIN A$(14>,RX(3,7) 

30 REM 

40 REN Use FNget to read data and 

SO REM fan string array. 

60 REM 

70 FOR LX=0 TO 14 

80 A*<Li)=FNget 

90 NEXT 
100 REM 

110 REM Read in each {rate's formation 
120 REN 

130 FOR 11=1 TO 3 
140 FOR JI=0 TO 7 
ISO READ RKIX.JZ) 
160 NEXT 11 
170 NEXT II 
180 INPUT"DELAY\NT 
190 REN 

200 REM YelloM background, then Nindon 
210 REN 

220 FOR IZ=0 TO 23:PRINT CHR$147tNEXT 
230 VDU 28,1,23,39,0 
240 FOR XZ=0 TO 24 STEP 6 



2S0 PROCput ( tl , 1 ) : PROCdel ay 
260 IF XX*24 THEN 290 

270 PROCput (XZ+2, 2) :PROCdelay 
280 PROCput (XX+4, 3) :PROCdelay 

290 NEXT 

300 INPUTTAB (0,2) 'REPEAT 'AN* 
310 IF LEFTI(AN$,1)» , Y" THEN VDU 26,12 
60T0180 
320 END 
330 

340 DEF PROCput (PX.FZ) 
350 FOR JI=0 TO 7 
360 PRINTTAB(PZ,JU10)A*(RZ(FX,JZ) ) 

370 NEXT 

380 ENDPROC 

390 DEFPROCdelay 

400 noM=TINE 

410 REPEAT UNTIL TIHE-no«>NT 

420 ENDPROC 

430 DEFFNget 

440 It'" 

450 READ Qt 

460 FOR 11*1 TO 23 STEP 2 

470 Z*=Z*+CHR*(EVALC*" ♦ NIM(QS,IX,2 

)) 

480 NEXT 
490 =Z* 




500 DATA 
510 DATA 
520 DATA 
530 DATA 
540 DATA 
550 DATA 
560 DATA 
570 DATA 
580 DATA 

590 DATA 
600 DATA 
610 DATA 
620 DATA 
630 DATA 
640 DATA 
650 DATA 
660 DATA 
670 DATA 



AOAOAOAOAOAOAOAOFCBOAOAO 

A0A0A0A0A0A0A0A0EAFFFDA4 

A0A0A0A0A0A0A0E0FFF7B0A0 

AOA0AOAOA0AOE8FFFFA1AOA0 

A0A0AOAOAOEOFEFFFFB4AOA0 

A0A0AOE0F8FFBFEBBFA1AOAO 

AOA0BBA7A3A1A0A2EDAOAOAO 

AOA0A0A0A0AOA0A0A2A0AOAO 

AOAOAOAOAOAOAOAOAOAOAOAO 

AOAOAOAOAOEOFEFFFFFFAOAO 

AOAOA0FOF8FFBFA3FFA1AOA0 

A0A0A3A1A0A0A0A0A3ADA0A0 

A0A0AOAOAOA0E8FFFFF1A0A0 

AOAOAOAOAOEOFEFFFFBFAOAO 

A0A0FOFOFCFFBFEBF7FOAOAO 

8,8,0,1,2,12,13,14 

8,0,1,2,3,9,10,11 

0,1,2,3,4,5,6,7 



BBC OWNERS 



Why not consider the HOBBIT FLOPPY TAPE SYSTEM for your computer? 

The HOBBIT gives you all the facilities you would expect from a floppy disc at a fraction 
of the price. 

Brief Specifications 

-k Read/Write speed of 750 BYTES per second 

•fr Capacity: 101K BYTES per CASSETTE 

-fr Average access time 22 seconds 

*■ Up to 138 FILES per CASSETTE 

•fr Completely automatic - no buttons to press 

& Fully built, boxed and tested. Just plug in and go 

& System can support TWO DRIVES 

Available from stock PRICE £135.00 plus VAT 

Also available for NASCOM computers PRICE £120.00 plus VAT 

Access and Barclaycard accepted 
For more details contact: 



lhan Computer Pr 



II 



ucts 



KILN LAKE, LAUGHARNE, CARMARTHEN, DYFED, SA33 4QE. Tel: Laughame (099 421) 515 



84 BBC MICRO USER May 1983 







HOME & BUSINESS TECHNOLOGY 






eTo 



00 



OG^ 



Probably the widest selection^J>of software available by mail order. 

All the top manufacturers including Acorn Soft, UK (Sinclair), Superior Software, Bug Byte, Program Power, Hessel, Procyon. 






BBC MICROCOMPUTERS 

WITH THE LATEST 1.2 OPERATING SYSTEM 



Model A 



£299 



Model B 



£399 



Latest Slim Line TEAC Drives with 
Utilities & Manual from 

£195.00 



Microvitec "Cub" Monitor. 

True 80 Column Definition 

at a new low cost. 



Revolutionary "Spark-jet" Printer 

from ACORN 

50 lines per minute and no noise! 



PRESTEL 

Available now on the BBC Micro 

OEL Acoustic Modem & Software & 

Lead. Converts the BBC Micro into 

a Prestel/private viewdata receiver. 

£175.00 all inclusive. 



PROCYON DOS Utilities 

Plus Manual (1 Disc for 40 Track 

and 80 Track) 

£17.25 



Make your favourite programs full time residents with 
an ATPL EPROM PROGRAMMER 

£138.00 

Program, verify, read and check for blank, 2516, 
2716, 2532, 2732, 2564, 27128, 27256. Single 

Rail Eproms. 
Also Eprom Eraser £55.20 incl. 



L 



PROTECTIVE COVERS AND 

CARRYING CASES 

Polyester Cotton Cover 3,97 

Soft PVC Cover 4.45 

Hard Carrying Case for Computer, Cables, 

Cass/Disc Drive 55.20 

Soft Carrying Case for Computer, Cables 
Cass/Disc Drive 23.00 



JOYSTICKS AND SOFTWARE 

BBC Joysticks -pair 13.00 

BEEBSTICK - Fully proportional for 

Computer Aided Design 29.75 

JOYSTICKS GRAPHICS - Draw and 

Save your own Line Diagrams 5.75 

JOYSTICK PACK 1 - Contains 'ZAP" 

and "ETCH A SKETCH" 5.75 

GRAPHSTICK - Computer Aided Design 
for any joystick 5.75 



HARDWARE 

Sound Pick-off Module (Simple to fit) 6.95 
Loudspeaker in cabinet plus cable for 

above pick-off 27.00 

Loudspeaker plus Amplifier for above 

Sick-off (Blaster) 37.50 
IG EARS Speech input for BBC 
Computer 56.00 

CHATTERBOX Gives your BBC Computer 
unlimited vocabulary 56.00 



ALL ABOVE PRICES INCLUDE VAT & CARRIAGE 

For full price lists or further details of any products send s.a.e. 



& 



ELTEC COMPUTERS 

217 Manningham Lane, Bradford, 

BD8 7HH. 

Telephone: (0274) 722512 




May 1983 BBC MICRO USER 85 




• 



(Authorised BBC Dealer, and service centre) 



NEW PRODUCTS 

Utility Disc for BBC 

Contains VER FORM35. F0RM40 

and FORM80. Cost £9.95 

BBC Sparkjet Printer 

New quiet printer for BBC. Friction 

and tractor feed 80cps. Cost £379.50 

Torch Z80 Disc Pack 

800K dual disc drive plus Z80 
processor with CMP compatible operating 
system. Cost £897.00 

TORCH Computer 

800K to 21.4M disc drives. High res. 
colour monitor. Plus autodial modem. 

From £2.795.00 + VAT 

NEW Epson FX80 

FX80 160cps printer in stock. Friction 
and tractor feed + proportional spacing. 

Cost £458.85 

Large stocks of software for BBC and Atom, 
Business. Games and Educational. Send for 
comprehensive list. 

Large stocks. Prices 
inclusive of postage 



2 
3 

4 
5 
6 
7 
8 





BBC Model B Micro Computer 399.00 

BBC Model A Micro with 32K 333.50 

BBC Model A Micro with 32K and VIA 339.50 

BBC Model B with Disc Interface 469.00 

BBC Model A with Econet Interface 356.00 

BBC Model B with Econet Interface 456.00 

BBC Model B with Disc & Econet Interface 526.00 

BBC Model A to B Upgrade 99.82 

Econet Upgrade for BBC 92.00 

BBC Acorn Memory Upgrade for Model A 34.50 

Disc Upgrade for BBC B (inc. fitting) 92.00 

BBC 14" Colour Monitor 287.50 

Sanyo SM12N Green Monitor 15MHz 90.85 

BMC 12E Green Monitor 18MHz 113.85 

KargaK12A 12" Orange Monitor 129.95 

BBC Single 100K5.25" Disc Drive (AND01) 265.00 

BBC Dual 800K 5.25" Disc Drive (AND02) 803.85 

Single Disc Drive (100K> for BBC (Teac) 205.85 

Single Disc Drive (200K) for BBC (Teac) 263-35 

Single Disc Drive (400K) for BBC (Teac) 343.85 

Dual Disc Drive <200K) for BBC (Teac) 41 1 .70 

Dual Disc Drive (400K) for BBC (Teac) 526.70 

Dual Disc Drive (800K) for BBC (Teac) 687.70 

Epson FX80T 1 60cps Printer 458.85 

Acorn Atom assembled 12K ram 184.00 

Atom New Power Supply 1.8A 9.66 | 

Floating Point ROM for Atom 21.85 I 

inclusive of VAT. All prices All Upgrades etc. are fitted 

except micros 3.00. fully re-tested. Access and 



BBC 
BBC 
BBC 
BBC 
BBC 
BBC 
BBC 
BBC21 
BBC 28 
BBC 23 
BBC 27 
BBC 30 
BBC 33 
BBC 34 
BBC 35 
BBC 41 
BBC 43 
BBC 44 
BBC 45 
BBC 46 
BBC 47 
BBC 48 
B8C49 
BBC 50 
ATM 2 
ATM 26 
ATM 21 




14" Colour Portable Monitor /T V 
This Monitor/TV is not a modified 
television as many TV/Monitors are, 
but a 14" Monitor/TV which has 
been designed to perform both 
functions. It has RGB and 
Composite video and sound. An 
RGB cable for a BBC is supplied as 
standard. 

Cost £259.90 

Trade enquiries welcome 

free of charge and the computer 
Barclaycard Welcome. 




COMPUTER 



36-38 West Street, Fareham, Hants 




(0329) 230670 




The 



Specialists 

GUILDFORD COMPUTER CENTRE off 
a complete range of Computers for 
Home, Business and Educational 
applications. 

Large stock of additional equipment 
available includes:- Printers, Hard/ 
Floppy Disc drives, Monitors etc., for 
most makes. 

An extensive range of Business softw 
(Accounts, Stock, Payroll, Word 
Processing etc.). 



Microcomputer 



Drop in for a frank discussion and expert 
advice on your requirements or arrange 
a demonstration. We give a full and 
expert backup to ALL our sales. 

Stockists of:- BBC/Acorn, Torch, Oric, 
Olivetti, Hitachi, TRS-80, Commodore, 
Dragon, Sharp, Sirius, Osborne, IBM, 
Newbrain, Epson, Selkosha, Cumana, 
etc. 



fr 



Olivetti 




HITACHI 




^ICORN 
COMPUTER 



BBC 



TRS-80 



GUILDFORD 
COMPUTER 

OE-N-T-R-E 

1 The Quadrant, Bridge Street, 
Guildford.Surrey.GUl 4SG 
Telephone(0483)578848 



86 BBC MICRO USER May 1983 









From Page 21 

270 PRINT" chloric acid into a test-tu 
be' 

280 PRINT' Into another test-tube eeasu 
re out";thio(S);' el. of Sodiui"; 

290 PRINT' thiosulphate and *; water (S) 
; "•l.of water " 

300 PRINT: PRINT: PRINT 

310 PRINT'Pour the acid CAREFULLY into 
the sodiua "; 

315 PRINT'thiosulphate solution " 

316 PRINTCHR$131;CHR*157$CHR$132;SPC<5 
) 'PRESS SPACE-BAR QUICKLY' 

320 IF 6ET =32 THEN 330 ELSE 320 
330 S0UND1,-15,150,2:*FX15,1 
340 TIHE=0 
350 Now=TIHE /100 

360 PRINT-START TIHE= "j Now;' SECOND 
S' 

370 PRINT: PRINT'Place reagents into co 
loriaeter and set to 1007. transmission" 

380 PRINTCHR«131;CHR«1S7;CHR*132;"PRES 

S SPACE-BAR QUICKLY WHEN READY" 

390 IF GET =32 THEN 400 ELSE 390 

400 VDU7: *FX15,1 

420 REPEAT UNTIL ADVAL (2X30000 
430 

440 finish(S)=TIHE/100 
450 PRINT "FINISH TIHE= "j finish(S) ; 
• SECONDS" 

460 PRINTTAB(2,22) ; "PRESS SPACE-BAR TO 
CONTINUE" 

470 IF BET=32 THEN 480 ELSE 470 

480 S0UND1,-15,150,2:*FX15,1 

490 ENDPR0C 

500 DEF PR0CRESULTS 

510 CLS 

520 PRINTTAB(0,3)CHR$(141);CHR$131;CHR 
*157;CHR$132{SPC(8)"TABLE OF RESULTS" 

530PRINTTAB(0,4)CHR*(141l{CHR*13i;CHR 
$157;CHR$132jSPC(8)"TA8LE OF RESULTS" 

540 PRINTCHRj(141);CHR*U31)jCHRt(157) 
jCHR*(132);STRIH6*(28,"=") 

550 PRINT:PRINT:PRINT"VOL.OF THIO. TI 
HE(SECS) 1/TIHEISECS) • 
555 PRINT STRINB$(40,"=") 
560 «=W002020A 
570 FOR S=l TO series 

580 PRINTthio(S) ,f inish(S) ,1/f inish(S) 

590 NEXTS 



IIMTERFACI 
IN 





600 PRINTTAB(2,22);CHR*l31;CHR*157jCHR 
*132;SPC(4)"PRESS SPACE-BAR TO CONTINUE" 
610 IF 6ET =32 THEN 630 ELSE 610 
620 *FX15,1 
630 ENDPROC 

640 DEF PR0CBRAPHICAL.2 
650 K=I10 
660 LOCAL SCALE 
670 SCALE=2000 
680 VDU5 :CLS 
690 HOVE 0,1000 
700 DRAH 0,0:DRAH 1280,0 
710 F0RS=1 TO series 

720 HOVE thio<S)tlOO,l/tinish(S)tSCALE 
♦40:PRlNT'*'jS 
730 NEXTS 
740 VDU 4 

750 PRINTTAB(2,3);"PRESS SPACE-BAR" 
760 IF SET =32 THEN 770 ELSE 760 
770 PR0COPTI0N 
780 ENDPROC 

790 DEF PR0C6RAPHICAL 1 

BOO H=H0 

810 LOCAL SCALE 

820 SCALE=10 

830 VDU5 :CLS 

840 HOVE 0,1000 

850 DRAN 0,0:DRAN 1280,0 

860 F0RS=1 TO series 

870 HOVE thio(S)*100,SCALE»finish(S)t4 
0:PRINT***jS 

S80 NEXTS 

890 VDU 4 

900 PRINTTAB(4,30); "PRESS SPACE-BAR* 

910 IF 6ET =32 THEN 920 ELSE 910 

920 PR0C0PTI0N 

930 ENDPROC 

940 DEF PROCTITLE 

950 *FX15,1 

960 PRINT: PRINT : PRINT 

970 PRINTCHR*(141)jCHR*(13l);CHR*(157) 
jCHR*(132);*A PR06RAH FOR A COLORIHETER* 

980 PRINTCHR«U41)jCHR*(131)5CHR$<157) 
;CHR$(132);"A PROBRAH FOR A COLORIHETER" 

990PRINTCHR*(141)»CHR$(131>jCHR*<157) 
5CHR*(132)jSTRIN6*(28,*="» 

995PRINTCHR$(141)fCHR$(13l);CHR$<157) 
;CHR*(132);STRIN6*(28,***) 
1000 PRINT:PRINT"Thit prograe Hill alio 
h you to* 




1010 PRINT'use the computer to accept A 
ND" 

1020 PRINT'process data hot a coloriie 
ter" 

1021 PRINT'used to investigate the rate 
of* 

1022 PRINT'reaction between hydrochlori 
c acid" 

1023 PRINT'and sodiue thiosulphate." 
1030 PRINTTAB (5,20) ;CHR$136;CHR*13l; CHR 

$157;CHRfl32 sSPC(5»; "PRESS SPACE-BAR" 

1040 IF 6ET=32 THEN 1050 ELSE 1040 

1050 S0UND1, -15, 100,2 :#FX15,1 

1060 ENDPROC 

1070 DEF PR0C0PTI0N 

1080 CLS .-COL0UR3 

1090 PRINT TAB(0,2»5"THIS COHPUTER PLOT 
S TNO TYPES Of SRAPH* 

1100 PRINT'EITHER ■ 

1110 PRINT" (1) CONCENTRATION A6AINST TI 
HE" 

1120 PRINT'OR" 

1130 PRINT* (2) CONCENTRATION A6AINST 1/T 
IHE" 

1135 VDU19,2,li,0,0,0 

1140 PRINT:C0L0UR2:PRINT "SELECT 1,2 FO 
R 6RAPH OR 3 TO STOP" 

1160 INPUTAnswer 

1165 VDU23 ;8202;0;0;0; 

1170 IF Ans*er«l THEN PROC6RAPHICALJ 

1180 IF Answer =2 THEN PROC6RAPHICAL~2 

1190 IF Answer=3 THEN ENDPROC 

1200 IF Answer <>1 AND Answer <>2 AND A 
ns«tr<>3 THEN PRINT "PRESS 1 OR 2 OR 3": 
BOTO 1160 

1210 ENDPROC 



Program HI 

10 HODEO 

20 »FX16,1 

30 FOR XX=0 TO 1200 

40 DRAH XZ,ADVAL(1)DIVS5 

50 NEXTXX 



May 1983 BBC MICRO USER 87 




THE 
COMPUTER 

CENTRE 
• OF THE 
NORTH 



iFyldt 



iLhwpool V^ 

^ ^Wirrtngion 



w)\ Pnwton 

• M#nch«tf»r I 



M6 



Ch««t«< 



A M6 

FRODSHAM 



■ 

Burton 



North 
I Walts 



0unc.12MS6> 

1 1 • Stofcs 



Wrvxham 

Ttw Pott trie* 



ru THE 

fehowroom 

for all the 
leading 

micros 



easy parking off the M56 (junc 12) " VIC 20 ' VIC 64 
micros * Newbrain * Acorn Atom " Books 



\iu 



* Apple 1 1e, 1 1 1 * Dragon * Electron * Games 
! Sinclair Spectrum, * IBM P.C. 



•!■% iMiNHJu MIk4^ 



ALL ACCESSORIES SALES AND SERVICE 

Churchfield Road, _ 
FRODSHAM * 

Cheshire WA6 6RD* 

• TEL: FRODSHAM (0928) 35110 • 

• * UNBEATABLE PRICES * • 

WE WILL PURCHASE AND PUBLISH YOUR PROGRAMS Call Steve Rhodes fordetatls 



computers 



OWL SOFTWARE 

BBC MICRO 

CHEQUE BOOK 1 6K. Computerise your current account with our 
complete cheque book management program. £3.75 

MUSIC 1 6K. Compose on your micro, plays notes and chords and 
presents colour display of score in hi-res graphics. £6.50 

GHOST CHASE 32K. Best of the PACMAN type arcade games 
with exciting hi-res graphics and sound. £6.00 

CASSETTE DECK Guaranteed to work with BBC Micro, we have 
used this deck daily for six months without a single failure on LOAD 
or SAVE. Facilities include remote, tape counter and monitoring. 
£35.00 

ALL PRICES INCLUDE POST & PACKING 

Cheques/ P.O.: 

OWL SOFTWARE, 

46 The Plain, Epping, Essex. 



DRAGON/32 



BBC MODEL/B 
747 FLIGHT SIMULATOR 



TRS 80 C/C 32K 



Superbly realistic instrumentation and 
pilots view in Hi-Res graphics. Lifelike 
simulation including emergencies such as 
engine fires and hydraulic failures. This 
program uses high resolution graphics to 
the full to produce the most realistic 
instrument display yet seen on a home 
computer. There are 21 real dials and 
over 20 other indicators (see diagram). 
You control throttle, ailerons, elevators, 
elevator trim, flaps, slats, spoilers, landing 
gear, brakes, reverse thrust and see the 
runway in true perspective. Uses joysticks 
and includes options to start with take-off 
or random landing approach and restart. 
"A real simulation, not just another 
game." (Your Computer). 

CASSETTE £9.95 ipp + VAT inc.) 



D.A.C.C. LTD., Dept BMU, 
23 Waverley Road, Hindley, Gtr. Manchester WN2 3BN. 




GAMES WANTED 

"Everyone has got at least one novel inside 
him, and every BBC Micro owner has at least 
one original game waiting to be 
programmed." - Zen in the Art of 
Computer Programming. 

So says our editor in his forthcoming book. 
Is he correct though? Have you got a games 
program locked away in your subconcious, 
just waiting to see the light of day? 

If so, get in touch with us right away - 
we're only too willing to hear from you. And 
we've got our team of experts ready to help . 
evaluate your work and add any necessary 
finishing touches. 

Of course, if it's good enough, we shall 
want to include it in the pages of BBC Micro 
User. So send a copy of your original games 
program, on cassette or disc, to: 

The Editor, 

BBC Micro User, 

Europa House, 

68 Chester Road, 

Hazel Grove, 

Stockport. 

SK7 5NY. 

And please mark your envelope clearly 

"GAME". 



EDUCATIONAL SOFTWARE FOR ECONOMICS 

BBC 32K 

'AN INTRODUCTION TO NATIONAL 
INCOME MODELS' 

Five programs on cassette (consumption, equilibrium 
income, multiplier, influence of government, foreign 
trade, etc.), Extensive use of graphics. Suitable for all 
introductory courses in economics, e.g. A level. Ideal 

for class or individual use. 
I £15.95 inclusive of manual and postage. 

! BEECON EDUCATIONAL 

SOFTWARE 

(Dept BU), 16 Klngrove Avenue, Beeston, 
Nottingham, NG9 4DQ. 



FRENCH ON THE BEEB 

Educational Software on the Model B' 

Test yourself, browse at random, use as reference. 

All Tenses of over 150 French irregular verbs. 

For all ability levels. 

On Cassette for £19.30 

A unique practical program to challenge beginners, 0, A, 
Level Students and even French Graduates. 

• Menu driven * Test with time limit * English meanings 

• Choice of tenses * Vetted by native speakers * Fully 

accented * Attractive colour format * 3 levels. 

Russian verbs available soon. S.A.E. for details. 

CARSONDALE ENTERPRISES LTD. 

44, Kingsway, Stoke on Trent, 
Staffs, ST4 1JH. 



88 BBC MICRO USER May 1983 



BBC SOFTWARE 

Quality Software produced by Professionals 



Present their latest tape 

FUN WITH WORDS 

Start your fun with alphabet puzzles in GUESS A LETTER. Continue 
your play as you learn about VOWELS, know the difference between 
THERE & THEIR and have games with SUFFIXES. After working so 
hard reward yourself with games of HANGMAN. Learning should be 

SUF^^ A LETTER - V ° WELS - THER ^ HE,R - 

EDUCATIONAL - 1 A or B £8.05 

Hours of fun and learning for children aged 5 to 9 years. Animated 

graphics will encourage children to enjoy maths, spelling and telling 

the time. The tape includes MATH1, MATH2, CUBECOUNT SHAPES 

MEMORY (Model B only), SPELL and CLOCK. 

EDUCATIONAL - 2 A or B £8.05 

Although similar to Educational - 1 this tape is more advanced and 

aimed at 7 to 12 year olds. The tape includes MATH1, MATH2, AREA 

MEMORY (Model B only), CUBECOUNT and SPELL 

GAMES OF LOGIC & CUNNING A/B £9.20 

For children and adults alike. The tape includes AUCTION FLIP 

REVERSE, TELEPATHY and HEXA15 (Model B only). 

KATAKOMBS B £9.20 

Are you cunning enough to discover and seize the treasure in the 
Katakombs AND return alive? What and where are your enemies? Can 
you outwit them? Yes? Then your adventure will take you through 
unending forests, besides tumbling streams, over lonely plains to 
desolate ruins and finally underground to the tortuous Katakombs. Be 
prepared for anything I 

UTILITIES A/B £8.05 

Behind the mundane title lies an assortment of useful procedures and 
functions which can save you hours/days of programming effort:- date 
conversion, input and validation routines, graphic routines (cube, 
rectangle, etc), sorts, search and many more. 

••• SPECIAL OFFER ••• Any 3 cassettes for £20.70 
Add 50p p/p per order. 
Please state your model. 

Also available from reputable dealers. . 
Also on Micronet 
Cheque/P.O. to: 

GOLEM LTD.,DEPTB, 

77 Qualitas, Bracknell, Berks. RG12 4QC. 
Telephone: (0344) 50720 



*«* 



# 



Simonsoft 

Specialists in High Quality Software for 
the BBC Microcomputer 

DISASSEMBLER (A/B) -a 'smart' disassembler that will generate 
fully labelled assembly listings of any machine code program - data 
is automatically differentiated from code and displayed together with 
its ASCII equivalent - the assembly listing can be saved in *EXEC 
format and subsequently incorporated into user programs - supplied 
with full instructions. 

Without doubt the most powerful and flexible disassembler available 
Disassembler £6.95 

EMULATOR (B) - a new concept in machine code programming 
toolsl Emulator is a machine code INTERPRETER which allows you 
to write and debug machine code as easily as BASIC - fully 
compatible with disassembler so that disassembled programs can be 
altered and 'emulated' - features single step, breakpoints register 
display, edit modes, data display mode etc etc - since the machine 
code is interpreted there is full protection from errors. 
Probably the most useful machine code programming tool. 
Emulator £6.95 

BASIC GOODIES (A/B) - a set of useful BASIC debugging 
routines saved in *EXEC format and fully documented - includes 
PROC/FN LISTER which lists the lines where procedures and 
functions are defined together with name, parameters etc - 
VARIABLE LISTER displays the current values of all or selected 
variables; very useful for debugging and demonstrations - SUPER 
REPORT intercepts BASIC errors and returns the message in a string 
variable so that error messages can be more flexibly reported - and 
more besides. 
Basic Goodies £5.95 

Prices are fully inclusive (for disc version add £3.00 and state single 

or double density) 

All programs are fully guaranteed and OS 0.1 to 1.2 compatible. 

DEALER ENQUIRIES WELCOME 

Simonsoft 

Front Street, Topcliffe, North Yorkshire, Y07 3RJ, 



TWO WAYS TO ENSURE 

YOU GET 

BBC 

MICRO 
USER 

EVERY MONTH 

Complete and mail subscription 
form on Page 81 

Hand this form to your newsagent. 



1. 



2. 



Please reserve me a copy of BBC Micro User 

magazine every month until further notice. 

D I will collect 

□ I would like it delivered to my home. 

Name 



Address 



Note to newsagent: BBC Micro User should be 
obtainable from your local wholesaler, or contact 
the distributor - Wells, Gardner, Dart on & Co Ltd 

Tel: Fay gate 444 



EXTRAS FOR THE BBC 

Unique Hardware & Software 

Guaranteed Available Now 

HARDWARE 

"MEDPROM-B" EPROM programmer 
With Machine Code software, User Port Connection, 
Programs 251 6/271 6/2532/2732, Software EPROM 
Safety Features. £79.00 

Also available for 2764/271 28 using EX1 Adaptor Unit £1 9.75 
"MEDCLOCK" real time calendar/clock, 

battery operated user port connection J* SEV* ^ £29.50 

SOFTWARE 

"MEDITOR-B" free format text file gen/editor 
including: "MEDMAIL-B" mailshot label printer 

Professional Word Processor. Features enable Edit, 
Save, Compose and Append Text with Single Key 
Letter Commands. £ 9.50 

"MEDMON-B" machine code monitor 

20 Commands: Disassemble, Memchange, Break- 
points, Search, Relocate, Offset, etc. Invaluable for 
Program Development and to reveal the Machine 
Operating System. £ 9.95 

"MEDMON" also available in EPROM for use with all 
versions of O.S. £1 7.00 

All prices include p& p. Please add VAT. 

Microtrol Engineering Design Ltd., 

Dept. Z, 640 Melton Road, Thurmaston, 
Leicester LE4 8BB. Tel: 0533 704492. 





May 1983 BBC MICRO USER 89 



MORE TO EXPLORE 

with EE computer "add-on" projects . . . 

REAL-TIME CLOCK for 

APPLE II 
and BBC micro 

Full constructional details in May issue. 




Hardware designs for all popular microcomputers 

will be featured regularly. 
EE knows how to 
make circuit building 
easy. 



tfftim 



EVERYDAY 



aggiB 



S.P. 
ELECTRONICS 



BBC Model B 1.2 O.S £399 

Upgrade Kits A to B £60 

Disc Operating System £95 

Disc Drives from £199 

Cassette Recorders £18.90 

Top quality EMI computer cassettes from S5p 

G3WHO RTTY PROGRAM £7.50 

Circuit boards for RTTY decoder (inc. instructions) £6.30 

Wide selection of software, books, leads, plugs, etc. 

Mail Order 



48 Linby Road, Hucknall, 
Notts. NG15 7TS. 
Tel: 0602 640377 




■MC^»CWD f 



W5* 



(all prices include VAT) 



and computer PROJECTS 




UP TO 30% ROYALTIES 

paid for high quality original software 

BBC, SPECTRUM, DRAGON 32, PET, 

RML380Z 

Games and Educational programs 

WANTED URGENTLY 

SILVERLIND LTD., 

156 Newton Road, Burton on Trent, 

Staffs. DE15 0TR. 




rfliero-ftid 



SOFTWARE • Programs thai are guaranteed to runl Save hours of work and worry with these 
utilities and practical programs on cassette or disc. 



102 CASHBOOK 

103 LEDGER 

104 MAILING 

105 PAYROLL 

(WorM) 

105a Manual 

106 MEMO CALC 



106a Manual 

201 CARDS 

202 BATTLE 

203 HANGMAN 

301 BANNER 

302 DISTANCES 

303 FLAGS 

304 STATPAK 

501 SEARCHBAS 

502 PROCVAR 

503 PR OC FLUSH 

504 PROCAID 

505 DEFCHR 

506 SORTM/C 

507 SORBAS 

508 UTILITY -A 

600 FORTH 

601 WORDWISE 

701 BOOKS 

801 CASSETTES 

810 DISCS 

901 NEW EPSON 

905 SEIKOSHA 

910 NEWTEAC 

100K 

920 VDUSTANO 



Double entry 4 columns with accounts £ 5.95 

Complements CASHBOOK with ageing & analysis £ 5.95 

Holds 218 addresses System with 6 options. 2 Sorts, 

Labels. 2 Searches & Update £ 5 95 

In two parts to handle weekly or monthly PAYE & Nl for 1 00 

employees. Supported. £13 90 

Extra (No VAT) £ 2 50 

Database /Calcsheet with up to 255 columns, string or 

numbenc data, sorts, searches, calculations, with full print 

facility. £ 

Extra (No VAT) £ 

Beat Bruce Forsyth at his own game £ 

Fast moving game simulation of a minefield £ 

Word game. French, German. Italian. Spanish. £ 

Paper printout of large text & graphics. £ 

Graphic maps of U.K., EUROPE & WORLD 

Calculate distance between any two places. 

Full colour flags of the world & questions. 

Statistics offering over 30 results. 

PROC to search a BASIC program & alter it. 

PROC to list variables used in a program. 

PROC to clear Resident Integer Variables. 

A combination of programs 501. 502 & 503. 

Design, display & store graphic characters. 

Machine code sort for up to 255 integers. 

A very fast BASIC sort. 1000 items in 42s 

Combination of 501 to 507. Superb value. 

Second language ROM for either OS. 

ROM Superb fast & easy wordprocessor OS 1.0 

Various titles for the BBC Micro from (No VAT) £ 6.95 

C12 Computer quality boxed in 10's. £ 4.50 

MEMOREX Soft Sectored 40 track 5.25" f 19.95 

FX-80 F/T, 160CPS. 3 FOUNTS, Graphics. £379.00 

GP-IOOe Printer 50cps. 80 columns, tractor £195.00 

Slimine Disc drives suitable for BBC Micro with Power 

supply. Format disc & Manual. 

Single Sided. 40 Track. OTHERS AVAILABLE. £ 1 99.00 

Stainless steel support protects your micro £19 95 



B 
B 

B 

B 

B 



995 
2.00 
2.95 
2.95 
795 
2.95 



3 95 
395 
895 
1.95 
1.95 
1.00 
3.45 
295 
100 
1 00 
5.95 
£34.74 
£34.74 



A/B 
8 
B 

A/B 

B 

B 

B 

A/B 

A/B 

A/B 

A/B 

A/B 

A/B 

A/B 

A/B 

B 

B 



Group 70 

208 May bank Road, South Woodford, London El 8 
Telephone: 01-505 7724/5 



MICROCOMPUTERS 

Official BBC Acorn Dealers 



Hardware: 
Software: 



Disc Drives ■ Printers - Monitors 



Acornsoft • BBC Soft ■ Word Processors 
Small Business Software 
Small Business Systems: 

Exidy Sorcerer Systems Dealer 



ADD VAT TO ALL PRICES. FOR COPY ON DISC ADD £1 .00. 
NO PACKING CHARGE. 

If you want further information before parting with your hard 
earned cash send for our new brochure tor- 
Micro -A id (BU) 
25 Fore Street, Praze, Camborne, Cornwall TR14 OJX. 

Tel: 0209-831274 



FAIRHURST 
INSTRUMENTS LTD 




SERVICE & INFORMATION 

CENTRE 

Dean Court, Dean Row, Cheshire 

(Nr. Deanwater Hotel) 

Telephone: (0625) 533741 



90 BBC MICRO USER May 1983 



* The console will 

house the 
Torch Disc Pack 



( BBC MICRO CONSOLES 

Not just a monitor/tv stand but an 
expansion console which gives your micro 
the professional look. Protects and encloses 
your micro with room for disc drives and 
2nd. processor or teletext adapter etc., all 
untidy connecting wires safely out of sight 
within the console. Made of light yet strong 
aluminium with a textured finish in 
matching BBC colour. Coming soon a bolt 
on extra module to the console for further 
expansion options. YES this console will 
grow with your needs. Basic BBC console 
as shown £39.99 MAIL ORDER ONLY 
Viewing by appointment only. 

For further information or send cheque for 
£43.99 incl. post/pack to: 




Silent 



CQ/ttPUTSGS 



Matching Printer Stand, can 
double for VDU Stand over the 
micro - only £14.99 + £2 p&p 

27 WYCOMBE ROAD, LONDON N17 9XN. 
TEL: 01-801 3014 (24 Hr Ansaphone) 



Oakleaf Computers 

education Hobby tat A SnuN Business Computers 



BBC 



Model B 

100K Single Disk 

100K Twin Disk 



£399.00* 
£265.00* 
£389.00* 




OAKTREE WORKSTATION 

Teak £24.95 ^^ white £22.95 
ELECTRON — F0R N D E ETAILS 

Acorn Atom & BBC Twin User 
Joystick Interfaces £13.95 

(Free Carriage — Please stale model) 
All Prices include •£8.00 Carriage 

V.A.T. 



: V : : I 

• v 



.•■ 



.•*: Vv 



...•• 



.••■•.: 
■•.:• 






LTD 



• •• 



.... -T 



2JC8IZX SPECTRUM- 



DRAGON ?2- VIC 20- BBC 



The very best mail order items ' 'over the counter" 
Games, Keyboards, Serious Programs, Rams, Books, Peripherals and much, much more! 

FAST MAIL ORDER SERVICE PHONE 01-769 2887 WITH ACCESS/VISA (24hr Ansafone) 
or send large S.A.E tor catalogue (slate which computer) 



310 STREATHAM HIGH ROAD. LONDON SW16 Open 10 30 !)30Tues fo Sat iclusec! Mondays) 



BBC 
SOFTWARE & 
ASSESSORIES 






iSTOCkl 



NETWORKING 

& EDUCATION 

SPECIALISTS 



m: 



Please send your 121 DUDLEY ROAD, GRANTHAM, 
remittance to:- UNCS NG31 SAD Tat (0478) 769S4 

SPECIALISTS 







FOR SCHOOLS 

"Scrambler" a program to help teach 
spelling in the classroom situation. Any 

BBC or Spectrum. 
Over 100 examples and your own, 

includes manual. 

For details:- 



MENTOR SOFTWARE 



Freepost Sheffield S6 2NT. 




SQUIRREL SOFTWARE 

4 Bindloss Avenue, Eccles, Manchester M30 ODV. 
Telephone: 061-789 4120 

SUPERGOLF- BBC B 32K £7.50 

The ball speeds into the air, slows, curves down and rolls. Bunkers, water and 
O.O.B. to avoid. This will HOOK not only golfers but the whole family for 
hours. Up to 4 players - 1 8 different holes. 

BUNFUN-BBCB32K £6.50 

Icing and nuts have to be squirted on as the buns go past at all levels you will 
need good rhythm, timing and reactions to avoid wrecking the factory! 
TOOLKIT - BBC for model A or B 

1. 'Dissassembler'. Extremely powerful. Lists mnemonics, binary, decimal. Hex. 
Finds masks, overlays and messages. 

2. Variables list'. Lists non-resident variables and arrays. 

3. 'Graphics Design Pad'. Graphic character design station on a 24 x 24 grid! 
All on one cassette £6.50 

SPACE WALK - Multi levels - needs dexterity and strategy to prevent an early 
death from contact with 'unearthly things! 
Also 

CODEBREAKER - Our version of the classic Mastermind' type peg game but 
with up to '26 colours' and holes. 

On one cassette BBC 8 32K only £5.50 

All cassettes in M code/basic. All cassettes compatible with 0.1, 1.0 & 1.2 

O.S. All prices Include VAT & P&P. 

Trade enquiries welcome. Special deals for Schools. 

Cheques, P.O/s etc to: Squirrel Software, 4 Bindlosa Av. f Eccles, 

Manchester M30 ODV. 24 Hr Answering Service 061-789 4120 



BBC MICRO USERS 

COMMUNICATE WITH 
ACOUSTIC COUPLERS 

BRITISH MADE 

By 

K&N 
ELECTRONICS 




K&N Electronics Ltd., 
Cordwallis Street, Maidenhead, Berks 

SL6 7BH. 
Tel: 0628 22447. Telex: 847692 

As supplied to Acorn and 
selected Acorn Dealers. 



May 1983 BBC MICRO USER 91 





COMPUTE^ 



Forty quality 
games. A varied 
selection ensures 
something for 
everyone. 



i - 



, ...■■ I! 



■■■■ W* 5 



£7.95 



Probably the best 
elementary BBC 
Basic text. An 
exceptionally 
readable book 
which more than 
lives up to its 
title. 



£6.95 




•asv Programming 

for the . J* 

»«r lufiifi. 



IlicllCl'MiH 



An easy-to-follow, 
step-by-step 
guide to more 
advanced BBC 
Basic, following 
on from Easy 
Programming for 
the BBC Micro. 



£6.95 




A clearly written 
manual on good 
Basic 

programming and 
problem solving. 
This book could 
become the 
standard work. 



£7.50 



A thorough, 
thoughtful, 
though 
high-paced 
review of 
elementary BBC 
lore. Includes 
topics such as 
the disc system 
and interfacing. 



£7.50 





to- file 
BUT Micro 

L 

P 




s. 



Twenty good 
games listings 
plus hints on 
better 

programming and 
a comprehensive 
glossary. 
Excellent value. 



£3.55 



92 BBC MICRO USER May 1983 




With 36 fun 
programs for the 
BBC Micro, this 
is exceptional 
value for money. 
It also gives 
many ideas for 
future projects. 



£4.75 



One of the best 
assembly 
language books 
ever written. 
Comprehensive, 
and specially 
compiled for the 
BBC Micro* 



THE 

BBC MICRO 

an exper 







£9.95 




tv\KE JAMES 



An intelligent, 
information 
manual on the 
workings of the 
BBC Micro. 
Recommended 
reading for 
anyone beyond 
the beginner's 
stage. 



£7.95 





A useful 
assortment of 
programming 
ideas for the 
less-experienced 
programmer. It's 
also a useful 
source of 
enjoyable 
programs. 



£5.95 



! 




'—ORDER FORM"- 

Ad prices include postage and packing 

Please supply the following book(s) 



Please enter number 
required in box 

| | Let Your BBC Micro Teach You to 
Program 

1 I Programming the BBC Micro 

| Easy Programming for the BBC 
Micro 

I 1 Basic Programming on the BBC 
Micro 

I | 30 Hour Basic 

I 1 Practical Programs 

I 1 Assembly Language Programming for 

— the BBC Microcomputer £9.95 



£7.45 
£7.50 

£6.95 

£6.95 
£6.50 
£6.95 



£8.95 
£4.75 

£5.95 



I I The BBC Micro Revealed 

I | The Book of Listings 

I I 30+ Programs for the BBC 
Microcomputer 

| Further Programming for the BBC 
1 — ' Micro £6.95 

Games for your BBC Micro £3.55 

Games BBC Computers Play £7.95 

I __] Structured Programming with BBC m e ft 
Basic *' ,w 

□ The BBC Micro: An expert guide £7.95 

I enclose my cheque/P.O. for . 

Cheques payable to Database Publications 

Name 

Address 



I 
I 
I 



I 
I 



i 

i 



Post to: Database Publications, 
Europe House, 68 Chester Road, 
Hazel Grove, Stockport SK7 5NY. 

These special prices apply to UK readers only. 
Prices to overseas readers are available on request. 

■ ■■■ 




May 1983 BBC MICRO USER 93 






KINGSLEY 




R.G.B. MONITOR/TV 

(GRUNDIG APPROVED) 

As supplied to Education Authorities Specification 

R.G.B. inputs (Analogue and Digital Levels) all models 

1 Volt P.P. composite video (remote model only) 

Teletext decoder available to plug into chassis, (remote 

model only). Remote control of computer via monitor 

{remote model only). Sound input gives access to audio 

amp all models. Instantly switches back to TV. 

12" MONOCHROME MONITOR/TV 

14" COLOUR MONITOR/TV 

16" COLOUR MONITOR/TV 

16" COLOUR MONITOR/TV REMOTE 

20" COLOUR MONITOR/TV REMOTE 

22" COLOUR MONITOR/TV REMOTE 

26" COLOUR MONITOR/TV REMOTE 

PLUG IN TELETEXT MODULE 

CONNECTING LEAD 

CARRIAGE AND INSURANCE 

4 YEAR GUARANTEE 



£95 + VAT 

£227 + VAT 

£255 + VAT 

£295 + VAT 

£315 + VAT 

£340 + VAT 

£380 + VAT 

£75 + VAT 

£5 + VAT 

£9.50 

£29.60 



KINGSLEY 

40-42, Shields Road, Newcastle-upon-Tyne, 
NE6 1DR. Tel: (0632) 650653 



BUY THE 
BEST 



TWkLLSTBBpnrnPUTERS 




BBC MOD A 

BBC MOD B 



£299.80 
£399.00 



HCORN 

i SPECIALISTS 



DISC DRIVES 

Business Software 
Educational Software 
Entertainment Software 

ONLY £195 



ORIC-1 

THE REAL COMPUTER SYSTEM 
FROM £99.95 INCL VAT 




MPUTERS 



o°o 



LYNXti 




#/# 



^rogffn.32 



£195 



SINCLAIR 
SPECTRUM 

16K £125.00 
48K £175.00 



PRINTERS 

Dot Matrix 

Epson MX 100 FT III Acorn AP 100 A 
Epson RX 80 Seikosha GP100 A 

BEST PRICES EVER 



Epson FX 80 



(Tt commodore 



COMPUTERS 



Printer Cables. Leads, Discs. Stationery. 

Cassettes, Ribbons, Dust Covers and wide 

range of Software for all Computers. 



COLOUR MONITORS 

14" Microvitek £250 

GREEN MONITORS 

Sanyo C 99 00 Hitachi f 99 00 



COMPUTER BOOKS & ELECTRONIC MAGAZINES 

SOFTWARE, HARDWARE 
SUPPORT/SERVICES/RENTALS 



CALL IN FOR FURTHER DETAILS 

TWILLSTAR COMPUTERS LTD 

17 REGINA ROAD, SOUTHALL, MIDDX. 

TEL: 574 5271 (24 hours) 

OPEN 10am-8pm SIX DAYS A WEEK 





lilicon Centre 

Edinburgh 



7 ANTIGUA STREET, EDINBURGH EH1 3NH 

TEL: 031 -557 4546 
BUSINESS AND PERSONAL COMPUTERS 



BBC 





4> 



BBC COMPUTERS IN SCOTLAND 

BBC Computers, Disc Drives, Printers, Software, Colour 
Monitors, Modifications, Upgrades A-B, Repairs etc. 



WE SPECIALISE IN "TORCH Z80" DISC PACS 

Turn your BBC Microcomputer into a full business 
system running CP/M and BBC Basic. The Torch Disc 
Pac adds a second 280 microprocessor, 64K of RAM 
and 800K of disc storage for ONLY £780.00 + VAT. 





K. 



\W 



Cambridge Computer Store 



Two Great Micros 
- from Cambridge! 

sinczlair- 

Spectrum 



IN 
STOCK 

WW! 



PHONE: 557 4546 or call in for a demonstration. 



BBC 

Computer 

Cambridge Computer Store 

1 Emmanuel Street, Cambridge CB1 1NE 
Phone (0223) 358264/65334 

Also in our 'Budget Micros' Dept: ZX81: Lynx: Commodore 64 



94 BBC MICRO USER May 1983 



EXTENDED COLOUR-FILL GRAPHICS 
E.C.F.G. GIVES YOU A CHOICE OF 



BILLION 



SHADES FOR TRIANGLE FILLING 
IN BBC MODES 0,1,2,4 Sc 5 

* PLOT 81 and 85 commands for triangle-filling 
have been adapted to use the ECFG fill-shade 
currently selected by new ECFG user-friendly 

I commands. GCOL is still used for line colour. 

* Easy choice of 17, 289 Sc 6561 subset colours 
between those normally available in 2, 4 Sc 16 
colour MODEs. Further options include colours, 
angles, spacings Sc widths of cross-hatch etc. 

* ECFG commands can be used in BASIC, typed 
from the keyboard, accessed in Assembler, or 
in future BBC Micro languages. ECFG is MOS- 
adaptive, and proven with versions 0.1 to 1.2 

* Bootstrap from cassette rapidly builds an ECFG 
module at a RAM address pre-defined by PAGE, 
which is then automatically increased 512 bytes 
to allow immediate LOADing of programs etc. 

Price : f 10 inc : Mail Order only 

GAELSETT Software 

44 EXETER CLOSE. STEVENAGE, HERTS. SGI 4PW. 

(Tel. Stevenage 51224) 




B.B.C. MICRO SOFTWARE 



* * 



"SURVIVOR 

(NEW) 

£6.50 + VAT 



"SPACEGUARD 

(NEW) 

£6.50 + VAT 



"INVADERS" 
£6.50 + VAT 

"FIRIENWOOD* 

£6.50 + VAT 



"SWAMP 
MONSTERS" 
£6.50 + VAT 



"GENERAL" 



You are shipwrecked on a tropical island in this 
unusual adventure game. Can you survive and escape 
back to civilization, or will you end up in someones 
cooking pot. Try it if you dare!!! Written in machine 
code. 

Your ship is trapped by aliens in this great space 
game. Your only chance is to destroy them whilst 
avoiding the mines they are laying. Can be played with 
or without joysticks. Mode 2 graphics and sound. 
(Model B or 32K Model A + User Port). 

A fast moving space game, compiled in machine code. 
It utilises Mode 2 colour graphics and sound. 

Journey on a quest for the Golden Bird of Paradise in 
this adventure game. Travel through caverns and a 
forest in a land of monsters and magic where death 
waits around every corner. 

A fantastic high speed game in machine code with full 
colour and sound. Can be played with or without 
joysticks. Guide your robot through an alien swamp 
and try to destroy the monsters that inhabit it. (Model 
B or 32 K Model A + User Port). 

All programs require 32 K and run on all operating 
systems. Send S.A.E. for full range of programs and 
price list or ask your local dealer. Trade enquiries 
welcome. 



ALL PRICES INCLUDE POSTAGE. CHEQUES 
AND POSTAL ORDERS PAYABLE TO: M p SOFTWARE. 




SOFTWARE & SERVICES 



DEPT. BM, 165 Spital Road, 

Bromborough, Merseyside L62 2AE. 

Telephone: 051-334 3472 



• 






northern 



computers 



micro computer systems for all applications 



: education and 
: training division 



location 



(•)\Pr»itOfj 



.Liverpool 

■^Warrington 



M62 

• MtnchMtwl 



FRODSHAM 
(Junc.12M56) 



*"**•*•• Wrarftam 



TtePoMartw 




. Slotc. 



For Educational and 
Training Institutions 
only: 

Apple II, III 

BBC (Free Econet 

Interface ). 

Newbrain 

Green Monitors £79 

Colour Monitors £199 

Seikosha Printers £207 

Epson Printers £349 

NETWORKS 

Coming soon: 

Acorn Electron 



, we supply everything to meet the requirements of 
( secondary schools, colleges and universities, whether 
it be small B.B.C. computers. Apple lie computers, or 
Apple III school administration and accounting 
systems. 

please contact Gareth Littler or David Horsfall 
EDUCATION & TRAINING DIVISION 

• Northern Computers, Churchf ield Road, 

• FRODSHAM, CHESHIRE WA6 6RD Tel: (0928) 351 1 



BES 



BourneEducational Software 
makes /earning fun BBC 



WORLD-WISE (Code PI 9) £7.95 

Constructive geography programs allowing children to build databases 
covering both the UK and the World. 

-Choice of 10 categories in each program eg. rivers, antiquities, 
towns, mountains etc. 

- Powerful review and edit facilities to correct entries if necessary. 

- Save or load the database at any time. 
-Sound adds interest - and level is adjustable! 

- Motivates children as computer tries to guess what they're thinking 
of. 

- Encourages use of atlas and reference books as children create the 
database. 

- Maintains extensive information on individual children's entries. 
-Suitable for ages 7-15 and for Model B. 

WORDHANG (Code P20) £7.95 

Educational version of hangman' word game, with limited allowance 
of wrongly guessed letters. 

- Learning to spell no longer a chore as children try to keep him alive. 
-Full colour graphics and simple screens appeal. 

-Includes lists totalling 260 words. Your own word lists easily created 
and saved too. 

- Adjustable time limit for each guess. 

- Monitors details of individual childrens performance, list used etc. 
-Suitable for ages 5-13 and Model B. 

ANIMAL/VEGETABLE/MINERAL (Code P21) £4.95 
Think of an object and see if the computer can guess it correctly. The 
computer asks a series of questions as it tries to guess the answer. 
The program either guesses correctly or asks for a question to 
distinguish the object from the incorrect guess. 
-Stimulates fascinating and educational discussions as to eg. the 
difference between an alligator and crocodile. 

- Encourages use of reference books. 

- Monitors details of childrens entries. 
-Suitable for ages 7-13 and Models A&B. 

For 24 hour despatch send cheque/PO to: 

BES, Dept BU2, Bedfield Lane, Headbourne Worthy, 

Winchester, Hants, S023 7SQ. 

Telephone: (0962) 882474 



May 1983 BBC MICRO USER 95 



B.B.C. or ATOM USERS 



* 
# 



the ATPL EPROM PROGRAMMER WITH AUTO RUN FEATURE 

Ideal for use in Education, or by Development Engineers, Software Houses, Computer 

Program C 'read and check for blank the following 24 & 28 pin single rail EPROMS:- 2516, 

2716, 2532, 2732, 2564, 2764, 27128 & 27256. 

Fully automatic configuration and verification. 

Automatically runs user program. . 

Load or dump Data files or programs (Basic or machine code) from/to cassette. 

Complete with all software, cables and fully comprehensive instructions. 

Used regionally by Microelectronics Education Programme 

Basingstoke Computer Centre, 5 New Market Sq.. Basingstoke, Hants. (0256) 52203. 

Cambridge Computer Store, 1 Emanuel St., Cambridge. CB1 1ME. {0223) 65334. 

Customised Electronics Ltd., 155 Marton Rd., Middlesborough, Cleveland. 10642) 247727. 

Datron Micro Centre. Abbeydale Rd., Sheffield, Sth Yorks. (0742) 585490- 

Electronequip, 36 West St., Fareham, Hants (0329) 230670. 

Eltec Services Ltd., 271 Manningham Lane, Bradford, West Yorks. (0274) 722512. 

HCCS Associates, 533 Durham Rd., Low Fell, Gateshead, Tyne & Wear (0632) 821924. 

Leasalink Viewdata Ltd., 230 Derby Rd., Stapleford, Nottingham (0602) 396976. 

S.P. Electronics, 48 Linby Rd.. Hucknall, Notts. NG15 7TS. Phone 640377. 

Micro Power Ltd., 8/8A Regent St., Chapel Allerton, Leeds, West Yorks. (0532) 683186. 

Northern Computers, Churchfield Rd., Frodsham. Cheshire. WA6 6RD. (0928) 35110. 

Somerset Business Computers, 25 East Reach. Somerset. (0823) 52149. 

Silicon Centre, 7 Antigua St.. Edinburgh. (031-557 4546). 

SIR Computers Ltd.. 91 Whitchurch Rd.. Cardiff, Sth Wales. (0222) 21341. 

Twickenham Computer Centre Ltd.. 72 Heath Rd.. Twickenham, Middx.. TW1 4BW. (01)892 7896. 

Other areas and in case of difficulties, please contact us direct. 







Guildford Computer Centre, Bridge 
Guildford. Surrey (0483) 578848 
Com Tec. 6 Eastgate, Barnsley, 
S, Yorks (0226 46972 



St., 



ELECTRO & GRAPHIC PRODUCT/ 

70 Summer Lane, Barnsley, South Yorks. S70 2NIM. _ 

Telephone: (0226) 790609, 



bbc MICRO ■ 

YES WE'VE PROBABLY GOT IT IN STOCK 
- NOW WHAT WAS IT YOU WANTED? 

We stock all the following: 

BBC MICRO Model B £399 incl. 

DISC l/F KIT £95 incl. 

All Teac Disc Drives including Utilities Disc 

and DFS Manual. 

100K single sided £230 incl. 

200K single sided £265 + VAT 

400K double sided 80 track £345 + VAT 

PRINTERS m VM 

AP 100 A £199 + VAT 

Spark Jet £365 + VAT 

Please phone for latest prices on above. 

SOFTWARE 

The North's best stockist of Acornsoft. We 

always have in stock: 

Snapper, Planetoid, Rocket Raid, Arcadians, 
Meteors and Monsters, Castle of Riddles, 
plus Program Power selected lines. 

We also supply Professional Standard Business 
Software including Integrated Accounts, Pub 
Stock Control and Video Shop System. 
Plus TAILORMADE SOFTWARE TO ORDER. 



MANCHESTER 





C it TECH 



COMPUTERS 

184 Market Street, Hyde, 
Cheshire SK14 1EX. 
Tel: 061-366 8223 



EDUCATIONAL & BULK 
DISCOUNTS AVAILABLE 




E3 



96 BBC MICRO USER May 1983 



/ AM reading the first issue of 
the BBC Micro User, and so 
far, for a newcomer to the micro 
like myse(f, it would appear to 
provide a refreshing easy to 
read and understand text for 
someone like myself ana * my 
family who want to make 
practical use of the computer as 
well as exploit its enter- 
tainment value. 

I hope the magazine will 
provide information hitherto 
difficult to find under one cover 
without hours of research and 
study. 

I note from your editorial 
that you are looking for views 
regarding the future contents of 
the magazine. 

If possible could you please 
include a series on producing 

educational programs similar to 
those used in primary and 
middle schools and which are 
apparently not readily available 
at the moment. 

As yet many schools have not 
been able to buy computers, and 
even those lucky enough to have 
one also generally have very 
restricted use by individual 
pupils. 

I feel this would be parti- 
cularly useful and would 
provide youngsters like mine, 



Schools need all 
the help they can get 



who are unlucky enough to go 
to a school without a computer, 
with a valuable stepping stone 
into the world of computer 
technology. 

Another article which could 
be included is one on adapting 
programs to enable the games 
paddles to be used. Many 
programs, including 

Deathwatch, use the keyboard 
keys for control. On the face of 
it most programs would appear 
suitable for use with paddles. 

A feature dealing with the 
basic steps and method required 
to amend the listing to cater for 
this would, I believe, be well 
received as well as save much 
wear and tear on the keyboard. 

Other ideas: features present- 
ing useful ideas for making use 
of the computer in the home as 
an aid to time saving and also 
to enhance traditional systems 
of information storage. 

Articles on the presentation 
of this information to improve 
interest and make it easy to 



read and understand, would 
also be worth considering. 

I look forward to receiving 
future issues of the magazine 
and hope that some of my 
suggestions can be in- 
corporated. - M.A. Godfrey, 
Gravesend. 

• Thanks for your suggestions. 
The use of the computer in 
education is a subject that we 
are deeply interested in, and we 
shall be regularly providing list- 
ings of educational programs 
for the pre-school child 
upwards. We've already got 
plenty in stock, but are always 
willing to accept more. So if any 
teachers or interested parents 
want to submit their programs 
or ideas to us we'd be only too 
pleased. 

As for the topic of 
educational program design, 
articles on the subject tend to be 
rather woolly and not of much 
practical use. However, we shall 
be featuring a series on this sub- 
ject which, we hope, will 



provide plenty of definite advice 
for the educational program- 
mer. 

The point about the games 
paddle is well made. I think it 
would be impossible to write a 
comprehensive article on adapt- 
ing programs already written 
(though I'm willing to be proved 
wrong). However, we do try to 
make sure that our contri- 
butors do bear in mind the great 
advantages the joystick has in 
many applications. 

Greedy 
interfaces 

I HA VE today purchased, read 
and enjoyed your magazine 
BBC Micro User. My main 
problem with my BBC machine 
has been loading cassettes, so I 
found the relevant article help- 
ful. 

My next problem is that, to 




Kg>CZ)©l 



^ 



y—v, 




Y. 



7 



BBS 




/ READ with interest your 
article on Cassette Capers in 
your March issue. 

As I am a computer engineer 
I was tempted to investigate 
further when my BBC micro 
suddently failed to read in 
programs off cassette. 

The problem turned out to be 
a faulty LM324N Quad opera- 
tional amplifier, pin 10 (input 
from cassette) of which had in- 
correct DC bias on it. Replacing 
the chip cured the problem. 

During the investigation I 
found that if I increased the 
level fed in far above the normal 
level required some programs 



would load, but my main con- 
cern was as to why the fault had 
occurred at all. 

I can only guess as to what 
caused it but from my 
experience of interfaces 1 
suggest the following as a prob- 
able cause: We share the tape 
recorder with our hi-fi and it is 
plugged and unplugged at 
regular intervals- I suspect 
doing this with the power ON 
both machines caused our fault 
to occur, there being no earth 
(which is normal) on the 
recorder. 

Needless to say we have now 
ceased this practice. 



More interesting was why 
some programs still loaded, and 
this investigation led me to 
discover a modification to the 
cassette input circuitry which is 
a 220nf capacitor between pin 
14 and R90. 

This blocks any small 
changes in the DC bias which 
may occur, and allows the final 
stage of the Op. Amp. to sit at 
the correct level for clipping the 
signal sent to the ULA. I do 
not know if you are aware of 
this modification, but from my 
experience it may be the answer 
to some cassette loading 
problems. 



Obviously the leg nearest pin 
14 ofR90 should be lifted or the 
track cut to insert the capacitor. 
1 spotted the modification on an 
Acorn drawing, so I am not 
aware of the official fitting 
instructions. Perhaps you could 
obtain them from Acorn. 

I hope this information is 
useful to other BBC Micro 
users - W.B.A., Ecclestone, 
Staffs. 

• Many thanks for your 
advice. It's always nice to be 
able to pass on readers' 
discoveries, particularly when 
they are as practical as yours. 



May 1983 BBC MICRO USER 97 



From Page 97 

overcome my first problem, I 
have invested in a disc drive 
system, but certain items of 
commercially produced 
software that did work on a 
BBC without disc interface will 
not now run, including some 
from Acorn! Can you help? 

Finally, I would like to 
master graphics in Mode 7, in- 
cluding drawing lines. How 
about an article on this subject? 
- R.Y. McNulty, Kettering, 
Northerns. 

• Mode 7 articles are coming 
in a-plenty. As for the inter- 
face, unfortunately many 
dealers are fitting them without 
warning unsuspecting 
purchasers that they use up so 
much RAM as to leave 
programs that previously ran 
well short of space. 

The answer is to set up one of 
the function keys as a down- 
loader - we gave such a 
program in April's issue. You 
then LOAD (not CHAIN) the 
recalcitrant program from disc 
and press the appropriate func- 
tion key to activate the 
downloader. This moves the 
program down in memory from 
where the disc loads it to the 
position it would have been in 
had the interface not been fitted, 
thus giving you more space. 
You can then run your 
program. 

Not off the 
micro map 

OUR school now has five BBC 
Micros and I bought (with my 
own money!) a copy of your 
magazine from a bookstall. 

I was, therefore, quite dis- 
appointed to see that your 
article "Spreading the Micro 
Gospel in Education" made no 
mention of Scotland, either in 
the text or on the map. 

It is supposed to be a 
national circulation magazine 
is it not? - Hector MacSween, 
Glasgow. 

• Feminism last month, 
nationalism this! Apologies for 
omitting Scotland, but as the 
article was about the MEP, 



which doesn't function there, it 
would have been rather out of 
context. 

Still, BBC Micro User aims 
to cover developmnts 
nationwide, and this will involve 
a look at the Scottish 
educational scene in the near 
future. 

Cassette 
bug fix 

I have a Model B BBC Micro 
version 0.1 and wish to use the 
cassette bug fix listed on page 
39 of the March issue of BBC 

Micro User. 

I am new to this type of pro- 
gram and wish to know 
whether, having run the 
program, I am then free to 
program normally, ie to use line 
numbers 10-180. 

Initially, I assumed this 
program fix would only be run 
prior to saving or loading but 
Mike Cook suggests running it 
whenever the computer is 
powered up. - R.G. Loveda* 
Woking, Surrey. 

• The idea of the program is to 
fix an error in the cassette filing 
system, to enable you to save 
and load programs or files 
reliably. All you have to do is to 
load the program and run it. 

Nothing spectacular appears 
on the screen, but from then on 
you can enter programs as 
normal (using NEW between 
each, of course), with the 
certainty that you will be able to 
save them. 

The r\x only has to be run 
once, at switch-on. If, however, 
you switch off at any time, the 
BBC Micro will "forget" it and 
you will have to load it again. 

Calling 
Mr Cooper 

I AGREE with most of the 
letters in the last issue. Most of 
the magazine is easy to under- 
stand and provides basic 
knowledge of how the computer 
works. 

There is one aspect of the 
magazine, however, which I feel 
is badly organised. This is the 
advertising. It would be a great 



help to the software buyer (f: 

l.All advertisers had to show 
a picture of their programs. 

2. Any advertisers found to be 
untrustworthy would im- 
mediately be stopped from 
advertising. 

I am sure these measures 
would give people more faith in 
mail order software. 

Another idea would be to ask 
people to send in a list of the 
programs they think are good 
and then you could maybe com- 
pile a top ten so that we would 

know what was good and what 
was trash. - Barry Cooper. 

• Mr Cooper also sent in an 
order for a cassette, but failed to 
include his address. Could he 
please write to us again? 

Breezy 
beginning 

YOUR first issue was definitely 
a spring breeze in the winter of 
BBC publications. It was 
refreshing and gave me 
lungfulls ofjoyl 

I do have a quick but difficult 
query: Is there any way of pass- 
ing different numeric arrays 
through the PROCEDURE call 
from the main routine to a 
certain procedure? 

If this cannot be done in 
Basic could it be done in 
assembly language? 

Is there any book which gives 
information about transferring 
and manipulating arrays for the 
BBC model B? 

I thoroughly enjoyed your 
magazine, and was pleased with 
your exposition of available 
books. Keep advancing to a 
better spring for the BBC user. 
- Fsa Al-Ramadhani, Ely, 
Cardiff. 

• Unfortunately there is no 
simple way of passing arrays in 
the fashion you describe. You'll 
have to stick to global variables, 
unless one of our readers has 
some devious ways of doing it. 



That 6521 

FIRST, my congratulations on 
your first issue - it is most 
encouraging. 

However you have managed 



to confuse me on page 54. You 
talk about 6521 VIA; Acorn 
refer to 6522 VIA and someone 
else to 6522 PIA for this duty. 
Can you possibly clarify Ms? 
- R.L. Maltby, Farnham. 
• Sorry about that - it should 
have been 6522 VIA - Mike 
Cook. 



Satisfied 

I FOUND edition 1 of BBC 
Micro User absolutely superb. 
The format and content were 
exactly right. I have learnt and 
understood more from your edi- 
tion than I have from six 
months of reading the other 
dross on the market. 

As I have always believed in 
putting my money where my 
mouth is, I enclose my subscrip- 
tion for the next 12 months. 
Keep up the good work — Tom 
Morrison, Liverpool. 



Digital 
dangers 



CONGRA TULA TIONS on 
what looks a very promising 
magazine for the 'Beeb'. I 
admire your temerity in setting 
up a contest asking for listings. 
Presumably many can be 
weeded out by eye, but I 
wouldn't like to be the one to 
type in the remainderl 

With respect to the tape read- 
ing article, one occasionally 
sees "digital" tape recom- 
mended for micros. This is mag- 
netically very "hard' 1 and re- 
quires a high-power bias to 
magnetise it - beyond the 
capacity of many domestic 
recorders. 

When I received my recorder 
from Acorn I couldn't get a 
satisfactory load using the tape 
supplied. 

I was about to return the 
recorder as faulty when I 
decided to check the recorded 
level on a machine with a VU 
meter. It was almost non- 
existent 

Substituting ordinary good 
quality audio tape has made 
tape operations so reliable that 
I often don't check-read smaller 
programs nowadays (provided 



98 BBC MICRO USER May 1983 



the 0.1 OS bug-fix is in). I can't 
remember the last time I had a 
bad load. 

I have noticed one or two 
complaints about space bar 
action. My machine was very 
sticky when I first received it, 
but investigations showed that 
one of the plastic pedestals 
which link the ends of the bar to 
the bent wire "switcher" had 
succumbed to the GPO. 

Replacement of this part has 
resulted in an action as good as, 
ff not better than, the com- 
mercial electric typewriter on 
which I am writing this letter. 
(How about a competition for a 
printer?) - K. Withey, Crow- 
thorne, Berkshire. 

• The one who typed in the 
remainder didn't like it much 
either! But as it was Percival 
who started all the trouble, 
Percival it was who had to sort 
it out! He's stopped speaking to 
us. As for the printer competi- 
tion, there's one on the way. 



Matter 
of style 



VISITING our newsagents 
recently, I was glad to find a 
new magazine devoted to the 
Beeb. You seem to have found a 
nice slot between the slightly 
snooty Acorn User and the ever 
so intense Beebug. 

However, I would like to 
complain about the pro- 
gramming style of Deathwatch. 

The program is fine once it is 
up and running and my son Ben 
(aged II) has had every penny 
of the £1 I paid for your 
magazine back in enjoyment. 
But what a mess to de-bug and 
what arguments my son and I 
had when we were typing in the 
listing (he reads, I type). 

Why not use the DEF PROC 
statements to divide up the text 
(or REMs even) instead of putt- 
ing extra statements on the 
line? 

Why not use real, meaning- 
ful names for the procedures (in 
lower case maybe)? 

How about a few spaces and, 
although it isn't strictly 
necessary, a few THENs would 
have helped. Why use a colon 
before ELSE? And don't use T 



as a variable, it's too like 7'. 

I've seen worse examples but 
why not set a higher standard? 
Shapes, which I haven't tried 
yet, looks much more attractive 
and controlled. Let that be the 
standard. 

Sorry to be so critical but you 
did ask. 

Good luckl I'll be watching 
the newsagents for your next 
issue. - J.R. Todd, Chester. 

• Programming style is the 
sort of subject that causes 
broken homes. Unfortunately, 
to program a fast-action Basic 
game of the high calibre of 
Deathwatch, which still fits into 
a 32k machine, style has in 
many cases to be sacrificed. 

Shapes, a more sedate 
program, could afford to be 
somewhat extravagant in terms 
of execution time and memory 
- though I agree it's a pity that 
all programs can't be as nicely 
laid out (and as free from 
GOTOs). 

Use of 

joysticks 

I HAVE just purchased your 
first issue of BBC Micro User 
and was absolutely delighted 
with it. 

Up to now, apart from club 
magazines, Acorn User was the 
only other BBC specialist 



publication and, as the saying 
goes, "Two heads are better 
than one." 

I found the articles on 
software, monitors and par- 
ticularly "Programming is 
easier than you think" very in- 
teresting and helpful, the 
programming article being 
especially easy to follow. 

I feel this is very important as 
no doubt many people have 
purchased their first micro due 
to rave reviews but like myself 
are complete novices as regards 
how to use it. 

I feel it would be helpful to 
advise in the software reviews 
when joysticks can be used as in 
Frogger and also whether using 
them is realistic. 

To qualify my statement, 
Frogger allows joystick useage 
but, as you can move the frog 
East, North, West and South, 
you have to restore the stick to 
the exact central position to 
leave the Frog motionless. 

You should try this. Un- 
fortunately because the official 
BBC joystick is not spring- 
loaded, to automatically restore 
it to the central position the use 
of the joystick is virtually a 
non-starter as you can't watch 
screen and stick at the same 
time. 

Unfortunately, several other 
games over-respond to joysticks 
in a similar way. 

I look forward to all your 



King Kong Klanger 

APOLOGIES to all those who suffered from the errors in 
the King Kong listing - and congratulations to the many 
who worked them out. What is particularly galling is that 
we list directly from a working program to printer. King 
Kong, however, was listed on a new printer which 
produced the odd hiccup in the most well-hidden places - 
and on only one of our listings. Of course, that had to be 

the one that went through . . . 

The two lines that contain errors should read: 

180 VDU23,230,254,50,133,153,123,183,255, 

255,23,231,255,255,255,255,255,255,255, 
255,23,232,255,207,135,3,1,0,0,0,23,233, 
1,1,1,0,0,0,0,0,23,234,0,0,0,0,128,96,120, 
252^3,235,252,252,252,248,248,248,240,240 

450 DEFPROChitcheck:lFY%<651AN 

DY% > 599THENGOTO460ELSEIFY% 

< 695ANDY%> 650THEN480ELSEENDPROC 

The errors do not occur, of course, on our cassette tape 
of programs from that issue. 



coming issues and, if the 
standard is as high as that of 
the first, there is no doubt that I 
will buy them all. - David 
Glew, Beckenham, Kent. 

• Odd you should mention 
Frogger - I've just tried with 
joysticks and watched my score 
plummet for much the same 
reasons. Mike Cook reckons 
he plays better with joysticks, 
though he's made his own. He 
describes how to do it in this 
month's instalment of the Beeb 
Bodybuilding Course. 

Accent on 
business 

WE are one of probably several 
thousand small businesses who 
have purchased the BBC Micro 
as a means of entering the 
world of the micro and with the 
intention of building up to 
useful and value-for-money 
hardware and systems. 

We should, therefore, like to 
see in your publications as 
much guidance and business in- 
formation material as you can 
cram into it. - P.E. Hitchcock, 
Brighouse. 

• We see the BBC Micro, 
particularly with the advent of 
the second processor, as a 
serious proposition for the small 
businessman and intend to 
cover the subject in the pages of 
BBC Micro User. We have 
already commissioned a series 
of reviews of current business 
software. 1 

Right 
approach 

- 

MANY thanks for BBC Micro 
User. To one fairly new to the 
BBC Micro and others to whom 
J have spoken, your "starting 
from scratch " approach is most 
helpful. 

As drawing office manager of 
Wireless World I also find most 
of the contents extremely good - 

I would have puzzled over Fig. 

II Page 21 had the text not 
explained it. Congratulations 
again - R J. Goodman, Wand- 
sworth. 



May 1983 BBC MICRO USER 99 



1 



\! 



-***&& 



is 



-'.. ■' 



^V*S 



:l 



*•! I 



BBC 
MICRO 
USER 
SHOW 



Friday, Saturday, Sunday, 
June 24, 25, 26 

Ren old Building 

UMIST 

Manchester 



i#V»V-- 



EXHIBITORS! For details of 
remaining stand space contact 
Linda Dobson on 061-456 8383 



\ SPECIAL LOW RATES FOR HOTEL ACCOMMODATION 




BBC Micro User has been able to 
negotiate exceptionally favourable rates 
for bed and breakfast at hotels within 
easy reach of the Show. Single bed 
prices per night are: 

FIVE STAR HOTEL: £21 
FOUR STAR HOTEL: £19 

In addition, UMIST are making available 
student accommodation in single studies 
for £17 a night (this includes bed, 
breakfast AND an evening meal). 
Applications can only be made on the 
form alongside, and full payment must 
be enclosed. 

100 BBC MICRO USER May 1983 



Please reserve me 
rooms at 

D Five Star Hotel 
D Four Star Hotel 
□ UMIST accommodation 

I enclose remittance 
for£ 

(Cheques must be payable to UM/ST) 



Name .. 
Address 



Phone number 



Post to: Business Manager, UMIST, 
PO Box 88, Sackville Street, 
Manchester M60 1QD 



There 




never 





show like it! 



INSPECT the latest hardware devices that add greater 
power and more versatility to the BBC Micro. 

TRY OUT the yet-to-be released summer crop of games - 
a unique opportunity to test them out in advance. 

WATCH demonstrations by some of Britain's leading 
experts in BBC computing. 



Meet BBC Micro experts 
at our WALK-IN FORUM 



LECTURE theatres adjoining the two exhibi- 
tion halls will be in use throughout the three 
days of the Show, with leading authorities on 
the BBC Micro explaining in easy-to- 
understand language the latest develop- 
ments in BBC computing. 

On Friday there will be special sessions on 
practical applications of the micro in educa- 
tion and business. 

On Saturday and Sunday more well- 
informed speakers will be discussing subjects 
ranging from Basic for beginners, the use of 
discs and exploring the BBC's ROM to tackl- 
ing assembler language and demonstrating 

advanced techniques in BBC graphics. 



AT LAST - a national show exclusively for users of the BBC 
Micro! An action-packed, three-day event that has one main aim 
... to ensure users from all over the country are brought fully up to 
date with all the exciting developments in this most remarkable 
machine. 

The BBC Micro User Show is primarily designed for people 
who already own a BBC Micro, and they will find it a veritable 
Aladdin's cave, packed with goodies that will help them make 
their computing even more rewarding. 

But there will also be much to interest anyone about to buy 
their first machine. They will be able to discover for themselves 
what computing is all about - and how easy it really is. 

Visitors will be able to ask all the questions they want about 
the vast range of accessories on show, from tiny program chips and 
memory expansion devices to disc drives, monitors, modems and 
the many other ways of linking the BBC Micro to the outside 

world. 

This is an event no user of the BBC Micro will want to miss. 
So make a note of the date in your diary now. More details of our 
plans will be given in next month's BBC Micro User. 



When it's open, and what it costs 



EXHIBITION 

Friday, June 24 - 9.30am-7pm 
Saturday, June 25 - 9.30am-5pm 
Sunday, June 26 - 9.30am-4pm 
Adults: £1.50 Under-12: £1 

(50p reduction with 
voucher from this page) 

WALK-IN FORUM 

Two-hour sessions each 

morning and afternoon 

10.30am-1 2.30pm 

2pm-4pm 

Admission per session: £1 




IT was at Manchester University that com- 
puting as we know it today was born, So it is 
only just that the first national show devoted 
exclusively to the all-British BBC Micro 
should make its debut in the city that 
spearheaded the computer revolution. 

UMIST is in the city centre, only minutes 
away from main-line rail and coach stations. 
And there are NO parking problems I 



Hand this voucher 
in at the door 




Cut-price travel by British Rail 



British Rail is offering special discount fares for visitors to 
the BBC Micro User Show — in some cases as much as one 
third off the normal fare. These are Second Class fares on 
any train, and the return journey can be made on any day 
within one month. (For First Class travel add on half to the 
prices given.) These are the fares from BR stations in the 
following counties: 

ENGLAND: Avon. £18.90: Beds. £16.40: Berks, £20.40: Bucks. C17.60: 
Cambs. £18.90; Cheshire. £4.00: Cleveland. £12.30: Cornwall, £35.30; 
Cumbria, £9.40; Derbys, £6.90; Devon, £27.30; Dorset, £27.30; Durham. 
£13.60; Essex via London. £29.80*: Glous, £14.90; Hants. £25,80; Hants 
via London, £35.30\ Hereford & Wors. £12.30; Herts, £2040: Herts via 
London. £27.30": Humberside. £9.40: Isle of Wight. £29.80: Isle of Wight 
via London £38.20*; Kent via London, £32.80"; Lanes, £4.00; Leics. 
£13.60; Lines, £9.40; London (Greater). £24.60; Merseyside. £4.00: 
Norlolk. £23.10: Northerns, £16.40: Northumberland. £21.60; Notts. 
£9.40; Oxon, £17.60: Shrop, f8.20: Somerset. £23.10; Staffs. £6.90; 
Suffolk. £23.10; Surrey. £24.60; Surrey via London. £29.80"; Sussex 
(East) via London, £32.80"; Sussex (West) via London, £32.80"; Tyne & 
Wear, £16.40; Warwicks, £12.30: West Midlands, £9.40; Wilts. £21.60: 
Yorks (North). £9.40; Yorks (South). £8.20; Yorks (West). £4.00. 
WALES: Clwyd, £8.20; Dyfed, £20.40; Glamorgan (Mid), £21.60; 
Glamorgan (South), £18.90; Glamorgan (West), £24.60: Gwent, £18.90; 
Gwynedd, £10.90; Powys, £12.30. 

SCOTLAND: Central. £25.80; Dumfries & Galloway, £16.40; Fife. 
£27.30; Grampian, £35.30: Highland, £40.70: Lothian, £24.60; 
Strathclyde. £25.80; Tayside. £29.80. 
" Valid via London. Does not include travel between London Termini. 

• For an application form for these special fares, send a 
stamped addressed envelop to: BBC Micro User Show, Europa 
House, 68 Chester Road, Hazel Grove, Stockport SK7 5NY. 




May 1983 BBC MICRO USER 101 




BBC 

BBC Model B £399.00 

BBC Model A £299.00 

BBC Model A + 16K £338.30 

BBC Model A + 16K & VIA £345.00 

DISC DRIVES 

(Including Disc Utilities and Manual) 

Canon Single 100K Drive £221.50 

Canon Twin 100K Drive £399.95 

Acorn Twin 400K Drive (80 Track) £804.00 

Torch Twin 400K + Z80 & 64K £897.00 

MONITORS 

Mlcrovitec 14" Colour Monitor £287.50 

Sanyo Green Monitor £90.85 

Sanyo 14" Colour Monitor (Composite) £228.85 

PRINTERS 

Seikosha GP100A (including free 'Screen Dump' 

Program) £229.94 

Seikosha GP250X £274.85 

Epson RX80 £343.00 

Epson FX80 £488.00 

Smith Corona TP/1 (Daisywheel) £557.75 

ACCESSORIES 

Binatone Cassette Recorder/Counter £29.95 

Cassette Lead £3.75 

C12 Cassettes £0.55 

Printer Cable for Seikosha £1 8.40 

Printer Cable for Epson £23.00 

BBC Joysticks (pair) £13.00 

Listing Paper £13.05 

Computer Dust Covers £3.95 

Wabash Discs S/S S/D £19.00 

Wabash Discs S/S D/D £25.00 

Wabash Discs D/S D/D £28.00 (40 track) 

Wabash Discs D/S D/D £33.00 (80 track) 



Computer City Service and Repair 

Department 

Let Computer City offer you their extensive computer 
maintenance service. We deal with ail aspects of home 
computer servicing at very competitive rates. 
Computer City Invite you to come and talk to us about 
any problems that you may have with your computer; our 
experienced staff will be pleased to help. For technical 
advice our service staff can offer their wide computing 
and electronic knowledge. 

Most servicing and modification work can be done 
while-you-wait. (By appointment only). We can service 
most types of home computers, from Sinclair to Apple. 
We can provide custom built cables for printers etc., and 
our design and development team is available for 
production of custom built interfaces and peripherals. 
Why not give us a ring or write for more information? 
Ask for Tony Coyne (Service Manager), who will be 
pleated to assist. 



ADVERTISERS INDEX 



A & F Software 



l/F/C 



Beecon Educational 88 

Buffer Micro Shop 91 

Bourne Educational Software 95 
BBC Micro User Show 1 00- 1 1 

C-Tech 96 

Cambridge Computer Store 94 

Carsondale Enterprises 88 

Cabel Electronics 47 

Computer Concepts 25 

Cumana Ltd 31 

Clares Micro Supplies 57 

Computerama 67 
Computer City 



Dace Ltd 
Digital Fantasia 
Digivision Ltd 

Electro & Graphic Products 
Electronequip 
Eltec Computers 
Everyday Electronics 

Fairhurst Instruments 

Gael sett Software 

Gemini 

Golem Ltd 

Guildford Computer Centre 

Group 70 

H & H Software 

Ikon 



K & N Electronics Ltd 


91 


KingsleyT.V. Services 


94 


MED 


89 


Microadvent 


64 


Micro man age mem 


43 


Microstyle 


36 


Midwich Computer Co. 


8 


Microaid 


90 


Mentor Software 


91 


M.P. Software 


95 


Micropower 


O/B/C 



90 



66 



Newtech Publishing 
Northern Computers 

Opus Supplies 
Owl Software 
Oakleaf Computers 

Pace 

Simonsoft 

Sir Computers Ltd 

Software Express 

SP Electronics 

Silverltnd 

Silent Computers 

Squirrel Software 

Silicon Centre 

Torch Computers 
Technomatic Ltd 
Twillstar Computers Ltd 



75 
88,95 



72 



84 Watford Electronics 



16.17 



BBC UPGRADE PRICES (All prices inc. VAT and fitting) 

Full A To B Upgrade £99-00 

Disc Interface £105.50 

16K + VIA £35.50 

Cassette matching service £7.50 

Delivery charge subject to distance. 
Please phone for quotation. 



COMPUTER CITY EDUCATIONAL SERVICES 

DEPARTMENT 

The educational uses of the BBC Microcomputer are fully supported by 
Computer City's Educational Services Department. We can provide all hardware 
and software requirements for schools, colleges and institutes of further 

education. 

An ever-growing range of software for all levels of teaching and Instruction, from 
pre-school to A level, is available off the shelf from our Widnes branch. 

We can supply all the peripherals necessary for efficient use of the computer. 
These include a large range of printers, plotters, monitors (Monochrome and 
Colour), joysticks, disc drives etc., and also a range of special interfaces for 
technical experimentation. 

For multiple computer installations, the ECONET network system (Both level 1 
and 2) will be available shortly to enable up to 254 BBC's to link together. 

We also supply the Apple lie and III computers and software. 

Educational catalogue available on request. 






THE COMPUTER CAPITAL OF THE NORTH - SUPPLYING Bt 



102 BBC MICRO USER May 1983 








78 VICTORIA ROAD, WIDNES, CHESHIRE 

051-420 3333 



®CDS®(o)Q0EJGG 

Swoop (B) £7.99 

Alien Destroyers (B) .. £7.99 
Galactic Commander 

(B) £7.99 

Time Trek (B) £7.99 

Laser Command (B) .. £7.99 

Space Haze (B) £6.85 

Martians (B) £6.85 

Astro Navigator (B) ... £5.70 

Maze Invaders £5.70 

Chess (32K) £7.99 

Chess (16K) £5.70 

Footer (B) £7.99 

Adventure (B) £7.99 

Cowboy Shoot Out 

(B) £6.85 

Munchy Man (B) £6.85 

Seek (A) £6.85 

Eldorado Gold (B) .... £6.85 

Roulette (B) £5.70 

Reversi(AZB) £5.70 

Cat & Mouse (A) £5.70 

Croaker (B) £7.99 

World Geography (B) £6.85 

Junior Maths Pk 1 .... £6.85 



UK 



Star Trek/Candy 

Floss £6.50 

Hangman £4.50 

Super Hangman £4.50 

BeepBeeb £4.50 

Beebmunch £6.50 

Mutant Invaders £6.50 

3D Maze £4.50 

Model A Invaders £5.50 

Model B Invaders £7.50 

WordPro £10.50 

Atlantis £7.50 

Flags £4.50 

Hyper Drive £6.50 

Strato Bomber £7.50 

Leap Frog £7.50 



III 

— /"\~ DIGITAL 

-^-FANTASIA 

III 

ADVENTURE GAMES FOR 
THE BBC 

The Golden Baton 

(A/B) £8.95 

The Time Machine 

(A/B) £8-95 

Arrow of Death (Pt 1) 

(A/B) £8.95 

Arrow of Death (Pt 2) 

(A/B) £8.95 

Escape from Pulsar 7 

(B) £8.95 

Circus (B) £8.95 

Feasibility Experiment 

(B) £8.95 

The Wizard of Akyrz 

(A/B) £8.95 

Perseus and Andromeda 
(A/B) £8.95 

Ten Little Indians 

(A/B) £8.95 







A 

Space Pirates £8.00 

Space Warp £9.00 

BBC Dragon Quest .. £11.50 
BBC Fruit Machine ... £5.50 

BBC Airlift £5.50 

BBC Chess £8.00 

BBC Backgammon ... £8.00 

BBC Multifile £15.00 

Golf £5.50 

Polaris £5.50 

NEW!! - Action packed 
games, all tape and disc 
compatible. 

Space Invaders £7.50 

Galaxy Wars £7.50 

City Defence £7.50 

Also compose your own 
tunes with BBC Music 
Synthesizer £9.50 





. 



BUSINESS SOFTWARE 
Cash Book Acc £95.00 

BeebCalc £19.95 

Inv. & Statements £19.95 

Commercial Accts £19.95 

Mailing List £19.95 

Database £19.95 

Stock Control £19.95 

Home Accounts £19.95 

Word Processor £19.95 



BBC 

SOFTWARE 

Home Finance 

Early Learning 

Music 

The Computer Prog. 

(Vol.1) 

The Computer Prog. 

(Vol.2) 

Painting 

Drawing 

Games of Stategy . . 
Fun Games 



£10.00 
£10.00 
£10.00 

£10.00 

£10.00 
£10.00 
£10.00 
£10.00 
£10.00 



Business Games £9.95 

Tree of Knowledge ... £9.95 
Peeko - Computer/ 

Manual £9.95 

Algebraic Manipulation 

Pack £9.95 

Creative Graphics 

Cassette* £9.95 

Graphs & Charts 

Cassette* £9.95 

Desk Diary/Manual . . . £9.95 

Lisp Cassette* £16.85 

Forth Cassette* £16.85 

Philosophers Quest . . . £9.95 
Sphinx Adventure — £9.95 

Castle of Riddles £9.95 

Monsters £9.95 

Snapper £9.95 

Planetoid £9.95 

Arcade Action £1 1 .90 

Rocket Raid* £9.95 

Meteors £9.95 

Arcadians £9.95 

Sliding Block Puzzles . £9.95 

Cube Master £9.95 

Super Invaders £9.95 

* Please ring for availability 
before ordering. 



LEVEL 9 COMPUTING 

ULTIMATE ADVENTURES 

Colossal Adventure .... £10.00 

Adventure Quest £10.00 

Dungeon Adventure ...£10.00 



n 



* R & f SOFTUIBRE J 



F 



Lunar Lander £6.95 

Planes £8.00 

Tower of Alos £6.95 

Frogger £8.00 

PharoahsTomb £8.00 

Painter £8.00 



BBC Forth £15.00 

BBC Forth Tool Kit £15.00 




SPECIAL OFFER- 
order 2 CASSETTES 
- DEDUCT £1 

ORDER 3 CASSETTES 
- DEDUCT £2 etc. 



BOOKS FOR THE BBC 
MICROCOMPUTER 

1 30 Hour Basic (NEC) £5.50 

2 Programming the BBC (Newnes) £6.50 

3 Easy Programming for the BBC Micro (Shivas) £5.95 

4 Let Your BBC Micro Teach You To Program 
(Interface) £6.45 

5 Assembly Language Programming for BBC 
(MacMillan) £8.95 

6 BBC: An Expert Guide (Granada) £6.95 

7 The BBC Micro Revealed (Interface) £7.95 

8 Programming the 6502 (Sybex) £10.75 

9 Advanced 6502 Programming (Sybex) £10.25 

1 Machine Code for Beginners (Sybex) £5.95 

11 Practical Programs for BBC and Atom (Wiley) £5.95 

12 30 Programs for the BBC Micro (Evans) £4.95 

13 Games BBC Computers Play (Addison Wesley) £6.95 

14 The Book of Listings (BBC Publications) £6.75 

15 The Computer Book (BBC Publications) £6.75 

16 Creative Graphics (Acornsott) £7.50 

17 Graphs and Charts (Acornsott) £7.50 

1 8 Forth Manual (Acornsott) £7 .50 

19 Lisp Manual (Acornsott) £7.50 

P&P on Books £1. 



I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 
I 



Please send me 

Postage and packing on software 50p. Telephone for hardware delivery rates. 

I enclose cheque/P.O. for 

OR Please debit my Access/Barclaycard/Visa' 

* delete as applicable 

Card no Expiry date 



Name .... 
Address 



Telephone number 



Ht«(M*ti» 



Code 



Dealers Discount Available 

ACCESS, BARCLAYCARD VISA ORDERS 
WELCOME ON 24HR 051-420 3333 



TRADE ENQUIRIES WELCOME. 
SPECIAL DEALS FOR SCHOOLS. 



COMPUTER CITY Dept F. FREEPOST (No Stamp Required) 
78 VICTORIA ROAD, WIDNES, CHESHIRE WAS 7RA. 




MICROCOMPUTERS NATIONWIDE FOR EDUCATION, BUSINESS AND LEISURE 



May 1983 BBC MICRO USER 103 






ROAKER(B>£6.96 

Pity us pour Frogs! I It was tough before, just trying to hop logs 
over the nv< motorways, packed with fast-moving traffic. And if 

we he family safely over that little lot, you drive fast- id faster and breed ever increasing 

nbers of crocodiles and diving turtle* ake things imp. lie. How long will we survive 

the ravages of Human Expansionism? 

Full feature, arcade-standard, machine code program, with excellent sound and graphics. The 
faster you complete each level, the more you score. One for the Connoisseur! I 




SWOOP (B)£6.95-the NEW GALAXIANS 
Galaxian-style, machine-code arcade game. 
THIRTY screaming, homing, bomb-dropping, 
explosive egg-laying BIRDMEN, swooping 
down to destroy your laser bases. Bonus 
bases, score & high-score, hall of fame etc. 

CHESS (B) £6.95 

Our excellent machine code program -now with 
superb MODE 1, colour graphics. Six skill levels, 
play black or white, illegal moves rejected, 
'en passant', castling, take- back of moves, and 
display of player's cumulative move- time. 
Options include Blitz Chess where you must 
move in 10 seconds, set-up of positions for 
ahalysis, replay of a game just played and saving 
of part completed games on tape, On loading, a 
1 172 Spassky/ Fischer game can be replayed. 



LASER COMMAND (B) £6.96 

Classic 'Defence of 6 Cities'. Detonate single 
mines or patterns to counter laser fire from 
alien planets. Store and recall mine patterns. 
Super fast, machine-code arcade game with 
superb graphics, sound effects, many skill 
levels, bonus points, etc. 

LASER COMMAND 





CHESS 






Other B.8.C. programs available: Galactic 

Commander (Bl £6.96 Allen Destroyers (B) £6.96 

Adventure £6.96 Cowboy Shoot-Out (B) £5.96 

Htor £8 96/Mlcro Budget £6.95 

World Geography (B) £5.96 

Timeirek (B) £6.95/Spacemaze IB! £5.95/ 

Martians IB) £5.95/ Astro Navigator (Bl £4.95/ 

Star Trek £4.95/Munchyman £5.95/ 

Seek £5.95/ Eldorado Gold IB) £5.95/ 

Cat & Mouse £4.95/ Mastermind £3.96/ 

Reversi 1 £4.96/ Reversi 2 (Bl £4.95/ 

Roulerte (B) £4.96/Gomoku £3.95/ 

Zombies £3.95/Dissassembler £5.95/ 

Constellation {Bl £5.95/Junior Maths Pack (Bl £5 95 

Where?<B>£5.95 



-4 




WRITTEN ANY PROGRAMSI 

WE PAY 20% ROYALTIES 

FOR DRAGON, SPECTRUM 

B.B.C. PROGRAMS 



s ra (oi (g) rsi (a) m fpi (6i m m ir 



WE ARE AUTHORISED DEALERS 
FOR ACORN ATOM. BBC MICRO 

& DRAGON 32 

MICRO POWER LTD. 

Dept. BMU5 

8/8a REGENT STREET, 

CHAPEL ALLERTON, 

LEEDS LS7 4PE 

Tel: (0532) 683186 or 696343 

Please add 55p order P S P ♦ VAT at 15% 

Please Note: 

All programs are now available at all good 
dealers or direct from MICRO POWER LTD. 



§ 

C)®§®§i(E)i